我正在尝试更快地在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'。
如果表格每天检查一次订单,它将节省大量时间。
有没有办法让这种情况发生?
答案 0 :(得分:0)
非常简单。
我使用PhpMyAdmin并更改了操作菜单上的设置。
如下图所示。
在此之后,
SELECT * FROM `BOOKMARK` WHERE `topic` = 'Apple'
我运行了这个查询并向我显示了总值为DESC的结果。
完美!!