2010-11-06 3 views
0

У меня есть таблица с полем, в котором должно храниться 512 символов. Мой вопрос заключается в следующем: можете ли вы ограничить длину поля TEXT (VARCHAR останавливается на 255 - я не могу его использовать) до 512 символов? Если я это сделаю, будет ли MySQL быстрее работать через таблицу из-за фиксированной длины данных или он будет немного похож на VARCHAR, поскольку длина может варьироваться?Ограничение размера TEXT в MySQL для скорости

У меня пока нет стола (на всех), но я очень уверен в скорости и размере для будущего. Я нашел эту статью: link text невероятно полезен - может быть, вы захотите!

Спасибо большое,

Джеймс

+0

Вы не получите никаких улучшений скорости от этого глупого подхода. В наши дни никто не проходит через стол. У индекса есть точная позиция. –

ответ

0

Обновите свой сервер MySQL. Начиная с 5.0.3 вы можете сохранить до 65535 bytes in VARCHAR.

+0

Странно. Я проверил мою версию MySQL, и это 5.1.49. Я просто делаю что-то неправильно? : P Спасибо за вашу помощь, тем не менее :) – Bojangles

+0

CHAR все еще имеет ограничение 255. Какой двигатель и SQL-режим вы используете? Я не уверен в MyISAM, но он отлично подходит для меня с InnoDB. – Andrew

+0

Я использую настройки по умолчанию: MyISAM и latin1_swedish_ci. Если бы вы могли кратко суммировать, что (кроме вещи CHAR) лучше об InnoDB? Благодарю. – Bojangles

-1

Вы действительно не говорите, как вы используете таблицу, поэтому я просто отправлю ее. Один из вариантов - выделить текстовое поле в другую таблицу и просто иметь ссылку на него в вашей исходной таблице.

Смежные вопросы