Что более эффективно для одной или двухсимвольной строки: CHAR (2) или VARCHAR (2)?
Действительно быстрый - эффективнее ли хранить данные, которые могут быть одним или двумя символами как CHAR (2) или VARCHAR (2) в MySql?
Спасибо!
Ответ 1
Что касается требуемого пространства для хранения, вам лучше с CHAR (2), потому что для типа VARCHAR (2) потребуется один дополнительный байт, чтобы сохранить длину:
Если вам больше нравится CHAR (100) против VARCHAR (100), что лучше в использовании пространства, зависит от ваших данных.
В любом случае, с точки зрения эффективности запросов, всегда полезно иметь фиксированные записи длины, когда вы можете позволить себе их иметь (БД может оптимизироваться лучше для столбцов фиксированной длины).
Итак, CHAR (2) выглядит как победа над VARCHAR (2) по пространству и времени.
Ответ 3
Я бы спросил, однако, стоит ли разница в эффективности между varchar и char? Похоже, что любое повышение производительности было бы, в лучшем случае, незначительным.
Ответ 4
В хранилище VARCHAR(255) достаточно умен, чтобы хранить только нужную длину в данной строке, в отличие от CHAR(255), которая всегда хранит 255 символов.