|
|
|
| Добрый день.
Есть поле pass в котором хранится пароль в md5. Соответственно длина всегда будет 32 символа.
Так вот char 32 байта. а varchar 33 (1 байт на длину) то конечно выгоднее использовать char.
Вопрос: а с каким типом данных быстрее работает mysql? при условии что все 32 символа всегда будут заполнены.
Спасибо. | |
|
|
|
|
|
|
|
для: ntro123
(15.04.2011 в 18:13)
| | Какие еще поля есть в таблице помимо pass и какой тип они имеют? Дело в том, что char имеет смысл назначать только в том случае, если у вас в таблице нет переменных текстовых полей вроде varchar и text, в противном случае char автоматически преобразуется в varchar.
PS А так, конечно, char быстрее varchar обрабатывается. | |
|
|
|
|
|
|
|
для: cheops
(15.04.2011 в 18:20)
| | Спасибо большое за разъяснение.
в БД помимо паса есть еще куча полей которые имеют разные типы в том числе и varchar.
Может имеет смысл другие поля тоже в char преобразовать?
Но скажем есть поля которые далеко не всегда до конца заполняются и тогда там будут проблеы, а значит БД быстро захламиться и будет не так быстро работать. | |
|
|
|
|
|
|
|
для: ntro123
(15.04.2011 в 18:23)
| | >Но скажем есть поля которые далеко не всегда до конца заполняются и тогда там будут
>проблеы, а значит БД быстро захламиться и будет не так быстро работать.
Именно так. Поэтому лучше не заморачиваться и использовать varchar. Проблемы из-за большого объема таблицы - объективная реальность, если размер таблицы будет больше одного из буферов (а их много разных), запрос будет выполняться во временной таблице на жестком диске и что там у вас char или varchar уже не будет иметь большого значения. | |
|
|
|