感謝花在了我的問題,對不起,如果它已經時間已經問過類似的東西。PHP - MySQL的1.000.000記錄查詢優化
我有一個DB的下面的示意圖:
我只爲DB SELECT權限。 而我的查詢往往會在當前設置下運行2-3秒到10秒。 有人問我,優化至最佳配置的當前結構和我的SQL是這樣的:(我需要獲得所有的訂單,其爲1個月的間隔內對每種產品的總收入)
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`
我正在考慮通過修改SQL方面的數據來處理結果 - 但不確定它是否會有效。
很想聽聽形成雅,如果這可以優化:)。
KR, 昏頭昏腦
附: EXPLAIN結果: EXPLAIN
你有索引日期列(也是項目,客戶端)嗎? – Maadinsh
你對這些表有什麼指標? EXPLAIN爲這個查詢顯示什麼? –
你應該從獲得解釋計劃開始。但是,如果你不被允許創建索引,它會很有趣。 –