在一个表中查询性能

时间:2011-10-28 04:35:05

标签: mysql performance

我正在设计一个答案问题网站。以前我创建了两个表:帖子和答案。是否可以(执行时间查询)将这些表合并为一个“帖子”,因为在诸如vote_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 :(得分:0)

当然,那里没有有意义的表现。一些论坛软件的功能是它有一个每个主题的表格和一个帖子表。创建新主题(您的问题)时,帖子内容将放在帖子表中,主题表用于标题,ID,或许某些分类,等等。

答案 1 :(得分:0)

通过适当的索引,不会有明显的性能损失。我猜两个不同表之间的连接有时比连接一个组合表更快。但这更像是我认为的逻辑决定。对待问题并回答同样的问题是否有意义?如果一种类型或另一种类型不包含多个字段,则最好将它们分开。