Почему, если я создаю varchar (65535), я получаю mediumtext?

Есть ли mediumtext и varchar (65535) это одно и то же? Я имею в виду, что они оба хранят данные непосредственно в таблице или тип mediumtext хранит указатель? Я спрашиваю об этом, потому что если я попытаюсь создать varchar (65535), он автоматически преобразуется в средний текст (если на самом деле длина больше 21811).


У меня есть еще один связанный с этим вопрос:

У меня есть поля в таблице, в которых я хочу хранить много символов (около 10'000). Но на самом деле он почти всегда будет хранить не более 10 символов.

Итак, мой вопрос: нужно ли мне использовать тип text или varchar (10000) для лучшей производительности?

Я считаю, что тип varchar более подходит для этого случая.

Заранее благодарим за ответы.

Править

Я не понимаю, почему они говорят, что начиная с mysql 5.0.3 мы можем создать varchar (65535), но когда мы пытаемся это сделать, он преобразует его в средний текст. Для меня разница между varchar и текстом (включая mediumtext) заключается в том, как они хранятся (с использованием указателя или без него). Так почему они говорят, что мы можем создать varchar длиной 65535, если не можем?

16
задан Nicolas BADIA 31 January 2012 в 12:36
поделиться