-1

100,00,000 以上のレコードを持つメッセージのテーブルがあり、クエリを実行して高速なデータを取得する方法があります。単純なクエリですがselect title,message from messages、データをすばやく取得するための適切なクエリを教えてください。

4

4 に答える 4

5

結果をいくつかの列でフィルタリングし、そのfilter-columnにインデックスを配置します。

SELECT title,message from messages
WHERE `date` > somedate

および対応するインデックス

CREATE INDEX dateIndex ON messages ( `date` );

10 ^ 7行すべてを取得したくないと思いますか?

于 2012-04-26T09:44:13.777 に答える
4

このような幅広い質問については、答えを具体的にすることはできません。したがって、ここに広い答えがあります。

適切なインデックス列を設定し(titleそしてmessageあなたの例では)EXPLAIN、クエリで使用して、それらのインデックスが使用されているかどうかを確認します。

于 2012-04-26T09:43:52.140 に答える
2

title列とにインデックスを追加しますmessage

CREATE INDEX title_message_index ON messages (title, message);
于 2012-04-26T09:42:43.543 に答える
1

INDEX を使用すると、SQL 操作を最適化するのに非常に役立ちます。これをチェック

于 2012-04-26T09:49:50.193 に答える