私の質問に費やしてくれてありがとうと申し訳ありませんが、すでに何か似たような質問があった場合は、ありがとう。PHP - MySQL 1.000.000レコードのクエリの最適化
私はDBのための唯一のSELECT権限を持っている:
私はDBの次の図を持っています。 私のクエリは、現在の設定で2-3秒から10秒間実行される傾向があります。 私はプロビジョニング現在の構造を最大限に最適化することが求められていますし、私のSQLは次のようになります。
SELECT items.`type` AS type,
DATE(orders.date) AS date,
sum(items.price * orders.quantity * clients.discount_percent/100) AS total
FROM orders
INNER JOIN items ON orders.item = items.id
INNER JOIN clients ON orders.`client` = clients.id
GROUP BY DATE(orders.date), items.`type`
I(Iは1ヶ月間隔であるすべての注文内の各製品の総収入を取得する必要があります) PHP側のデータを扱うSQLを変更することで結果をまとめることを考えていましたが、効果的かどうかは分かりませんでした。
これが最適化できる場合、フォームを聞くのが大好きです:)。
KR、 Dippy
P.S. EXPLAIN
日付の列(アイテム、クライアント)のインデックスはありますか? – Maadinsh
これらのテーブルにはどのようなインデックスがありますか? EXPLAINはこのクエリに対して何を表示しますか? –
まず、説明計画を入手してください。しかし、インデックスを作成することが許可されていない場合、それは楽しいことになるでしょう。 –