LINUX.ORG.RU

История изменений

Исправление 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