我有這個查詢,這幫助我從PHP疼痛保存,但如果結果增加,現在我看到,同樣的查詢停止我的應用程序。哪個更差MYSQL查詢需要在服務器上太長,但在本地主機上,但它工作正常
SELECT *,
(SELECT COUNT(*)
FROM table1
INNER JOIN table2 ON table1.somecolumn = table2.somecolumn
WHERE ( table1.statuscolumn = 'status1'
OR table1.statuscolumn = 'status2')
AND table2.othercolumn2 = 'somevalue'
AND table1.othercolumn
AND table1.othercolumn LIKE
CONCAT('%', table3.othercolumn3, '%'))
AS utilization
FROM table3, table1
WHERE table3.othercolumn2 = 'somevalue'
AND ( table1.statuscolumn = 'status1'
OR table1.statuscolumn = 'status2')
AND table3.othercolumn4 = 'on'
GROUP BY table3.othercolumn3
如何在較短的執行時間內達到相同的結果。謝謝。
你已經索引設置? –
根本沒有索引。一些像othercolumn2這樣的列是索引,但不適用於此查詢的任何表。 ( –
)你在表之間沒有連接條件,這通常是查詢中主要問題的標誌 –