Разница между CHAR, VARCHAR и TEXT
MySQL предоставляет 3 типа данных для хранения текстовой информации: CHAR, VARCHAR и TEXT.
С каким же из них проще всего работать и какой тип данных обеспечивает более быструю работу?
Отличия в скорости работы между этими тремя MySQL типами данных будет очень тяжело выявить, до тех пор пока ваша база данных не разрастётся до довольно больших объёмов.
Данные типа CHAR, которые имеют фиксированную длину, быстрее всего сохраняют и достают информацию но могут потреблять излишнее дисковое пространство.
VARCHAR, строка изменяющейся длины, работает медленнее чем CHAR но не потребляют излишнее дисковое пространство.
Тип TEXT переменная типа BLOB – он занимает больше места и I/O чем предыдущие 2 типа.
Использование типа CHAR для текстовых данных технически самый быстродействующий способ, но данные типа CHAR имеют ограничение длинны в 255 символов. Последняя версия СУБД MySQL позволяет хранить в переменной типа VARCHAR данные длиной вплоть до 65,535 символов, это максимальная длинна этого типа данных.
Тип TEXT более привлекательный с первого взляда, потому что в отличии от типа VARCHAR, в нём можно хранить множественные TEXT элементы в одной ячейке. Для того что бы включить полнотекстовое индексирование данных типа text, необходимо что бы тип таблицы был MyISAM так как он не обращает внимания на то какой тип данных
Пишу на PHP, работаю с различными CMS, люблю решать сложные задачи.
Alexei A. Korolev
6 Nov, 2008
А тесты по производельности varchar и char есть?