6 テーブルの結合クエリ、1 つのテーブルに 10,000 以上のデータがあり、アクセス速度は 10 秒以上
6 テーブルのデータを結合して表示するクエリを作成したいです。データが 10,000 件あり、毎回更新する必要があります。表示するのに 10 秒以上かかります。最適化する方法についてアドバイスをお願いします。
sql:
SELECT com_cn_user.real_name,com_cn_client.clShortName,com_cn_product.skuNum1,com_cn_product.Arrival_cycle,com_cn_product.Buy,com_cn_chuku_detail.id,com_cn_chuku_detail.sku,com_cn_product.ItemNum,com _cn_product.Color, com_cn_product.model、 com_cn_product .Title_CN,com_cn_product.Brand,sum(com_cn_chuku_detail.quantity) as amount,com_cn_chuku_detail.remark
FROM com_cn_chuku
LEFT JOIN com_cn_chuku_detail ON com_cn_chuku.chukuNum = com_cn_chuku_detail.chukuNum
com_cn_chuku_detail.itemNum に com_cn_product を左結合 = com_cn_product .ItemNum
LEFT JOIN com_cn_supply ON com_cn_supply.syNum = com_cn_product.syNum
LEFT JOIN com_cn_user ON com_cn_user.usernum = com_cn_supply.usernum
LEFT JOIN com_cn_client ON c n_client.clNum = com_cn_chuku.clNum
ここでcom_cn_chuku.state=2 および '2012-1-1' から '2012-06-15' までの com_cn_chuku.submit_date com_cn_product.ItemNum によるグループ化 ORDER BY Null
explain:
id select_type テーブル タイプ possible_keys キーkey_len ref rows Extra
1 SIMPLE com_cn_chuku ALL state NULL NULL NULL 177 where の使用;一時的な
1 SIMPLE com_cn_chuku_detail ref chukuNum chukuNum 4 com_backup.com_cn_chuku.chukuNum 47
1 SIMPLE com_cn_product ref ItemNum番号 4 7 com_backup。 com_cn_chuku_detail.itemNum 1
1 SIMPLE com_cn_supply ref syNum syNum 32 com_backup.com_cn_product.syNum 1
1 SIMPLE com_cn_user ref usernum usernum 38 com_backup.com_cn_supply.usernum 1
1 SIMPLE com _cn_client ref cl Num clNum 32 com_backup.com_cn_chuku .clNum 2
-----解決策----------------------
インデックスがあってもテーブル全体をスキャンしないわけではありません…一度では説明できませんが、ほほ〜〜〜〜
今のところだけなら検索メソッド、状態、submit_date 結合インデックスの方が優れています