【发布时间】:2011-07-04 06:30:47
【问题描述】:
这个查询需要很长时间才能运行,有什么可以改进的吗?
SELECT b.* FROM games_tags bt, games b, tags t
WHERE bt.tag_id = t.tag_id AND (t.tag_text IN ('flash'))
AND b.gameid = bt.game_id AND b.status ='1'
GROUP BY b.gameid ORDER by rating DESC limit 5952, 16
【问题讨论】:
-
这不是一个好问题;您需要告诉我们有关表格的信息,它们是如何设计的,其中包含什么样的数据等等。我们需要更多详细信息来帮助您。
-
为什么使用 'IN' 而不是 t.tag_text ='flash'
-
我会发布更多信息,稍后会更清楚。
-
我正在将换行符编辑到 SQL 中,这样我们就可以阅读它而无需水平滚动。如果弄乱了您的编辑,我们深表歉意。
-
我正在为我当前的脚本使用毒性解决方案,可以在pui.ch/phred/archives/2005/04/tags-database-schemas.html 找到
标签: php mysql database-design