MySQL4.xDBには次の3つのテーブルがあります。
- ホスト:(300.000レコード)
- id(UNSIGNED INT)主キー
- 名前(VARCHAR 100)
- パス:(6.000.000レコード)
- id(UNSIGNED INT)主キー
- 名前(VARCHAR 100)
- URL:(7.000.000レコード)
- host(UNSIGNED INT)PRIMARY KEY<---hosts.idへのリンク
- path(UNSIGNED INT)PRIMARY KEY<---paths.idへのリンク
ご覧のとおり、スキーマは非常に単純ですが、問題はこれらのテーブルのデータ量です。
これが私が実行しているクエリです:
SELECT CONCAT(H.name, P.name)
FROM hosts AS H
INNER JOIN urls as U ON H.id = U.host
INNER JOIN paths AS P ON U.path = P.id;
このクエリは完全に正常に機能しますが、実行には50分かかります。誰かが私がそのクエリをどのようにスピードアップできるかについて何か考えがありますか?
前もって感謝します。ニコラス