2

我正在尝试在 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”。

如果表每天检查一次订单,将节省大量时间。

有没有办法做到这一点?

4

1 回答 1

0

这很简单。

我使用 PhpMyAdmin 并更改了操作菜单上的设置。

如下图。

在此处输入图像描述

在这之后,

SELECT * FROM `BOOKMARK` WHERE `topic` = 'Apple'

我运行了这个查询并向我展示了总值 DESC 的结果。

完美的!!

于 2012-07-08T22:14:37.813 回答