【发布时间】:2010-10-03 07:11:31
【问题描述】:
我想知道在尝试例如检查论坛上的特定主题中有多少帖子时,哪个更快。我应该...
(a) 使用特定线程 ID 浏览数据库中的每个帖子,并计算行数
或
(b) 每次创建线程时,在线程数据库中的单独列中添加一个,然后查询该单行
谢谢。
【问题讨论】:
标签: php mysql optimization query-optimization
我想知道在尝试例如检查论坛上的特定主题中有多少帖子时,哪个更快。我应该...
(a) 使用特定线程 ID 浏览数据库中的每个帖子,并计算行数
或
(b) 每次创建线程时,在线程数据库中的单独列中添加一个,然后查询该单行
谢谢。
【问题讨论】:
标签: php mysql optimization query-optimization
线程 ID 的索引有什么问题?按线程 ID 字段分组的简单 COUNT 表达式还不够吗?
如果有任何缓存,据我所知,这将是非常快的。
--This will provide counts for all threads
SELECT COUNT(threadID)
FROM Posts
GROUP BY threadID;
--This will provide count for one thread
SELECT COUNT(threadID)
FROM Posts
WHERE threadID=123
GROUP BY threadID;
【讨论】:
过早的优化是万恶之源。
使用解决方案 (a) 开始,然后,如果您的网站需要,切换到解决方案 (b)。
【讨论】: