Если в таблице есть столбцы TEXT или BLOB, таблица не может быть сохранена в памяти. Это означает, что каждый запрос (который не попадает в кэш) должен иметь доступ к файловой системе, которая на несколько порядков медленнее, чем память.
Поэтому вы должны хранить этот столбец TEXT в отдельной таблице, доступ к которой возможен только тогда, когда вам это действительно нужно. Таким образом, исходная таблица может быть сохранена в памяти и будет намного быстрее.
Думайте об этом как о разделении данных на одну "таблицу памяти" и одну "таблицу файлов". Причина этого заключается в том, чтобы избежать доступа к файловой системе, кроме случаев, когда это необходимо (т.е. только когда вам нужен текст).
Вы ничего не зарабатываете, храня текст в нескольких таблицах. Вам все еще нужно получить доступ к файловой системе.
Извините, что я имел в виду, например, скрипт форума, в таблице сообщений они могут> хранить 20 столбцов данных сообщений, они также сохраняют фактическое сообщение в виде текстового поля в> той же таблице. Так что столбец сообщения должен быть выделен?
Да.
Кажется странным иметь таблицу с именем post, но фактическая запись там не хранится, может быть,> в другой таблице с именем "actual_post" не уверен, lol.
Вы можете попробовать (posts, post_text) или (post_details, posts) или что-то в этом роде.
У меня есть таблица тегов, в которой всего три поля: tag_id, tag и description. Так что> столбец описания также должен быть выделен? Итак, мне нужна таблица тегов и таблица> tags_description только для хранения 3 столбцов?
Если описание является столбцом TEXT и вы выполняете запросы к этой таблице, для которой описание не нужно, это, безусловно, будет предпочтительнее.