2

My-Sql データベースでより高速な検索クエリを作成しようとしています。

テーブルに 800,000 行ありBOOKMARKます。

このクエリで実行すると

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」を含める必要はないと考えていました。

テーブルが注文を 1 日 1 回チェックすると、多くの時間を節約できます。

これを実現する方法はありますか?

4

1 に答える 1

0

とてもシンプルでした。

PhpMyAdmin を使用し、操作メニューの設定を変更しました。

下の画像のように。

ここに画像の説明を入力

この後、

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

このクエリを実行すると、合計値 DESC で結果が表示されました。

完全!!

于 2012-07-08T22:14:37.813 に答える