Какой тип данных MySQL более эффективен для масштабируемых приложений? ТЕКСТ или ВАРЧАР?

Я создаю масштабируемое приложение, и мне нужно знать, какой тип данных использовать для небольших строк (50-1000 символов). Я слышал, что VARCHAR имеет фиксированный размер и поэтому может быть быстрее, но с TEXT символы могут храниться в отдельном CLOB и только указатель в данных строки. Это будет меньше, но будет ли это иметь какое-либо значительное снижение производительности?


person Robin Rodricks    schedule 19.01.2010    source источник


Ответы (1)


Значения в столбцах VARCHAR представляют собой строки переменной длины. Длина может быть указана как значение от 0 до 255 до MySQL 5.0.3 и от 0 до 65 535 в 5.0.3 и более поздних версиях.

Если у вас есть MySQL 5.0.3 или более поздняя версия, и вам не нужно более 65 тыс. символов, не имеет большого значения, какой из них вы используете, потому что и TEXT, и VARCHAR имеют переменный размер в памяти. Если у вас много текстов длиной менее 255 символов, вы можете сэкономить один байт для них, выбрав VARCHAR.

Но в совершенно другом аспекте я бы всегда выбирал тип данных, который ему больше подходит. Если вы храните текст, который семантически является текстом, который может легко превышать «стандартные» размеры, вы должны использовать тип данных TEXT.

person poke    schedule 19.01.2010