Выполнение запроса в одной таблице - PullRequest
1 голос
/ 28 октября 2011

Я разрабатываю сайт с ответом на вопрос.Ранее я создал две таблицы: сообщения и ответы.Можно ли (запрос времени выполнения) объединить эти таблицы в один «пост», поскольку есть сходство в таких полях, как voice_up, down, flag и так далее.

Спасибо за отзывы, ребята, это таблица

CREATE TABLE IF NOT EXISTS 'posts' (
'id' int(10) unsigned NOT NULL AUTO_INCREMENT,
'date_created' datetime NOT NULL,
'date_edited' datetime DEFAULT NULL,
'post_type' tinyint(1) DEFAULT NULL,
'parent' int(10) unsigned DEFAULT NULL,
'user' int(10) unsigned NOT NULL,
'title' varchar(255) DEFAULT NULL,
'slug' varchar(255) DEFAULT NULL,
'content' text NOT NULL,
'post_status' tinyint(1) DEFAULT NULL,
'vote_up' int(10) unsigned DEFAULT '0',
'vote_down' int(10) unsigned DEFAULT '0',
'answered' tinyint(1) DEFAULT NULL,
'flag' tinyint(1) DEFAULT NULL,
PRIMARY KEY ('id')
)

Ответы [ 2 ]

0 голосов
/ 28 октября 2011

При правильной индексации заметного снижения производительности не будет.Я думаю, что объединения между двумя разными таблицами иногда могут быть быстрее, чем объединение одной объединенной таблицы с самим собой.Но это скорее логическое решение.Имеет ли смысл трактовать вопрос и отвечать одинаково?Если имеется несколько полей, исключающих один тип или другой, лучше их не разделять.

0 голосов
/ 28 октября 2011

Конечно, здесь нет никакого значимого успеха.То, что делает какое-то программное обеспечение форума, это то, что у него есть таблица для каждой темы и таблица для сообщений.Когда создается новая тема (ваш вопрос), содержимое сообщения помещается в таблицу сообщений, а таблица тем используется для заголовка, идентификатора, возможно некоторой классификации и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...