Хранение текста отдельно или вместе с остальными данными
Есть таблица сообщений POSTS: id_post, id_topic, id_poster, name_poster, date_time_post, post_text.
Вопрос на счет хранения текста поста в таблице POSTS.
Заранее хочу оптимизировать структуру БД под довольно большую нагрузку: 5-8 млн. сообщений, 300-500 тыс. тем, 30-50 тыс. хостов в день и около 200-300 тыс. просмотров в день. В онлайне постоянно 300-800 человек.
У данного поля post_text будет индекс FULLTEXT. Не лучше ли будет хранить текст постов в отдельной таблице, где будет id_post и post_text?
До этого в книге прочитал, что из-за наличия большого текстового поля в таблице и индекса FULLTEXT на нем может снижаться скорость доступа к таблице, а ведь при заданной мной нагрузке из таблицы POSTS будут постоянно выбираться посты когда пользователь запрашивает данные при просмотре темы.
А так же будут постоянно добавляться новые посты – не замедлит ли индекс FULLTEXT добавление данных (ведь, если я не ошибаюсь, при добавлении будет перестраиваться индекс для всей этой огромной таблицы.)
Не лучше ли будет выбрать id поста из таблицы POSTS а потом join-ом присоединить текст поста к данной выборке из отдельной таблицы или лишний join в данном случае тоже зло?
P.s. Смотрел структуру таблиц других форумов: в phpBB2 текст хранится в отдельной таблице (индекса FULLTEXT нет вообще), в phpBB3 текст и остальные данные поста хранятся в одной таблице (индекса FULLTEXT нет вообще); в IP Board текст и остальные данные поста хранятся в одной таблице (на поле post_text индекс FULLTEXT !)...
Ну ясный-красный лучше в отдельной таблице хранить. Только о целостности данных позаботиться.
А: У меня таблица на 5Гбайт, скорость извлечения по целочисленному ключу зависит только от числа строк (коих около 2 млн). От наличия текста - не зависит.
Б: Вы имели ввиду, что скорость зависит лишь от числа строк, но не от количества гигов таблицы?
А: Именно так. А так - да, когда-то и сам разносил тексты в отдельную таблицу...
Но это только лишняя нагрузка в виде лишнего JOIN при выборке. А пользы никакой. По крайней мере в моём случае (БД сообщений форума).
Так где же истина??