История изменений
Исправление
Spoofing,
(текущая версия)
:
таблица с пользователями
user_id | user_name
таблица с мета-данными комментариев
comment_id | comment_date_created | user_id
таблица с текстом комментариев
comment_id | comment_text
будет совсем прекрасно, если вы ещё будете создавать таблицы динамически в процессе добавления новых разделов на сайте.
допустим, раздел называется `news`. значит имена таблиц с комментариями должны быть:
comment_news
comment_news_text
для этого вы должны создать обычные таблицы, какие бы создали, для комментариев и текста комментариев. а затем, в процессе добавления новых разделов на сайте, копировать структуру этих таблиц.
CREATE TABLE comment_{$category} AS SELECT * FROM comment WHERE 1=2
CREATE TABLE comment_{$category}_text AS SELECT * FROM comment_text WHERE 1=2
таким образом, при поиске комментариев по разделу вам не нужно делать лишнее [c]WHERE category = news[/c] условие, поскольку вы будете делать [c]SELECT * FROM comment_$category[/c]
ну и вообще разделение данных на порядки ускорит выборку по ним. comment_text всяко надо хранить отдельно, потому что TEXT может быть ну оооочень большим и его может быть ну оооочень много. нацеливайтесь на аудиторию 100,000 комментариев в _день_.
--
с уважением, ваш подкроватный админ локалхоста.
Исправление
Spoofing,
:
таблица с пользователями
user_id | user_name
таблица с мета-данными комментариев
comment_id | comment_date_created | user_id
таблица с текстом комментариев
comment_id | comment_text
будет совсем прекрасно, если вы ещё будете создавать таблицы динамически в процессе добавления новых разделов на сайте.
допустим, раздел называется `news`. значит имена таблиц с комментариями должны быть:
comment_news
comment_news_text
для этого вы должны создать обычные таблицы, какие бы создали, для комментариев и текста комментариев. а затем, в процессе добавления новых разделов на сайте, копировать структуру этих таблиц.
CREATE TABLE comment_$news AS SELECT * FROM comment WHERE 1=2
CREATE TABLE comment_$news_text AS SELECT * FROM comment_text WHERE 1=2
таким образом, при поиске комментариев по разделу вам не нужно делать лишнее [c]WHERE category = news[/c] условие, поскольку вы будете делать [c]SELECT * FROM comment_$category[/c]
ну и вообще разделение данных на порядки ускорит выборку по ним. comment_text всяко надо хранить отдельно, потому что TEXT может быть ну оооочень большим и его может быть ну оооочень много. нацеливайтесь на аудиторию 100,000 комментариев в _день_.
--
с уважением, ваш подкроватный админ локалхоста.
Исправление
Spoofing,
:
таблица с пользователями
user_id | user_name
таблица с мета-данными комментариев
comment_id | comment_date_created | user_id
таблица с текстом комментариев
comment_id | comment_text
будет совсем прекрасно, если вы ещё будете создавать таблически динамически в процессе добавления новых разделов на сайте.
допустим, раздел называется `news`. значит имена таблиц с комментариями должны быть:
comment_news
comment_news_text
для этого вы должны создать обычные таблицы, какие бы создали, для комментариев и текста комментариев. а затем, в процессе добавления новых разделов на сайте, копировать структуру этих таблиц.
CREATE TABLE comment_$news AS SELECT * FROM comment WHERE 1=2
CREATE TABLE comment_$news_text AS SELECT * FROM comment_text WHERE 1=2
таким образом, при поиске комментариев по разделу вам не нужно делать лишнее [c]WHERE category = news[/c] условие, поскольку вы будете делать [c]SELECT * FROM comment_$category[/c]
ну и вообще разделение данных на порядки ускорит выборку по ним. comment_text всяко надо хранить отдельно, потому что TEXT может быть ну оооочень большим и его может быть ну оооочень много. нацеливайтесь на аудиторию 100,000 комментариев в _день_.
--
с уважением, ваш подкроватный админ локалхоста.
Исходная версия
Spoofing,
:
таблица с пользователями
user_id | user_name
таблица с мета-данными комментариев
comment_id | comment_date_created | user_id
таблица с текстом комментариев
comment_id | comment_text