【发布时间】:2011-12-11 15:17:59
【问题描述】:
我从数据库中提取了一系列(例如限制 72、24)游戏,根据这些游戏被评为最受欢迎。我有一个单独的表用于跟踪游戏数据,还有一个用于跟踪游戏的个人投票(评分从 1 到 5,每个游戏每个用户一票)。当该游戏在该游戏的所有评分投票中具有最高平均评分时,该游戏被视为“最受欢迎”或“更受欢迎”。少于 5 票的游戏不予考虑。以下是表格的样子(两张表格,“游戏”和“投票”):
games:
gameid(key)
gamename
thumburl
votes:
userid(key)
gameid(key)
rating
现在,我知道有一种叫做“索引”的东西,它可以通过预先查询我的表并构建一个单独的索引表来加速我的查询(我真的不知道......这只是我的印象) .
我还了解到,当多个查询可以压缩为一个更长的查询(我想包含连接和嵌套的 select 语句)时,mysql 运行速度最快。
但是,我目前没有使用索引,我正在进行多次查询以获得最终结果。
应该对我的数据库进行哪些更改(如果有的话——包括构建索引表等)?我的查询应该是什么样的?
谢谢。
【问题讨论】:
-
我们需要查看您使用的查询以帮助优化它们。
标签: php mysql database-design query-optimization database-optimization