1

このクエリを実行しています。

SELECT dom,
COUNT(url) AS counted
FROM results 
GROUP BY dom
ORDER BY COUNT(url) DESC;

domインデックスを作成しましたが、長いテキストであるためURLをインデックスできません。それを速くするために私は何ができますか?

4

2 に答える 2

0

これを試して:

SELECT dom,
COUNT(url) AS counted
FROM results 
GROUP BY dom
ORDER BY counted DESC;

domへのURLがほとんどないと仮定すると、問題にはならないはずです。domごとにURLがたくさんある場合、カウントは高くつきます。

于 2012-10-26T19:52:16.717 に答える
0

count(url)は、urlフィールドがnullではない行をカウントすることを意味します。おそらく、次のようにパフォーマンスの作成とインデックス作成を向上させることができます。

create index idx__1 on results  (dom, url (1));

次に、クエリを次のように変更します。

SELECT dom,
COUNT( left(url,1)) AS counted
FROM results 
GROUP BY dom
ORDER BY counted DESC;

リストされた両方のフィールドのみを要求する場合、RDBMSはインデックスのみを必要とし、テーブルからデータを取得する必要はありません。

于 2012-10-26T19:54:49.063 に答える