我正在尝试在 My-Sql 数据库上进行更快的搜索查询。
我在BOOKMARK
表中有 800,000 行。
当我使用此查询运行时
SELECT * FROM `BOOKMARK` WHERE `topic` = 'Apple'
Showing rows 0 - 29 ( 501 total, Query took 0.0008 sec)
这该死的快!
我对每一行都有总分,想先找到一个好的。
SELECT * FROM `BOOKMARK` WHERE `topic` = 'Apple' ORDER BY total DESC
Showing rows 0 - 29 ( 501 total, Query took 0.4770 sec) [b_total: 9.211558703193814 - 1.19674062055568]
现在是0.5秒!!
这对我来说是个大问题。
这是表信息。
* There are 20,000 different topics in this table.
* total number exist between 0-10
* The server calculate total points once a day.
我在想,如果表格按每个主题的总数排序,则搜索查询不必包含“ORDER BY total DESC”。
如果表每天检查一次订单,将节省大量时间。
有没有办法做到这一点?