Есть ли любое различие в производительности между varchar(1)
и char(1)
? Какой дескриптор RDBMS эти два типа данных и размеры по-разному?
В большинстве случаев разница будет незначительной. Сконцентрируйте свои усилия по проектированию, ориентированному на производительность, в тех местах, где это принесет реальную пользу, например, при составлении таблиц и разработке индексов.
Полезно разделить усилия по проектированию на два уровня: логическое проектирование и физическое проектирование.
Большая часть усилий, ориентированных на производительность, приходится на второй этап - физическое проектирование.
При логическом проектировании гибкость превосходит производительность. За исключением тех случаев, когда это не так.
это не имеет значения, так как вы в обоих случаях используется 1 байт.
но короче говоря, varchar имеет переменный размер, а char - фиксированный размер. в больших количествах это может повлиять на объем памяти, а также повлиять на время вычислений.
Что касается производительности, используйте char, если данные будут фиксированной длины. если у вас есть гибкость с различной длиной ваших данных, используйте varchar.
Насколько Oracle касается ....
CHAR (2) всегда будет использовать два байта / символа памяти. VARCHAR2 (2) может использовать только один. Таким образом, общий случай - использовать VARCHAR2 вместо CHAR.
На практике вы не должны увидеть разницы в производительности для односимвольного столбца.
Поскольку от CHAR никогда не бывает преимуществ, я всегда использую VARCHAR2.