作者averywu (看文不要只會用橫的看)
看板Database
標題[SQL ] 查詢語法改進請益
時間Tue Dec 28 23:36:37 2010
不才最近有個語法,跑下去會要人命(要105s才會傳回結果)
(MYSQL 5)
語法如下:
SELECT COUNT(StockOfStore.GID) FROM
StockOfStore LEFT JOIN Goods ON StockOfStore.GID = Goods.ID
WHERE StockOfStore.SID = '$_SESSION[StoreID]'
AND Goods.Name !=''
AND (SELECT COUNT(Count) FROM OutStockLog
WHERE GID = StockOfStore.GID AND SID ='$_SESSION[StoreID]') = 0
我是要查StockOfStore的GID筆數,但是需要結合Goods,並把沒有Name的Goods
濾掉。最後再去另一個資料表取出0出貨的結果。
這語句跑下去大約會是100 Seconds ~ 12X Seconds.
以Web應用來說,這不死人才有鬼。
有前輩能指點一下生路嗎? 感激。
--
小惡魔的家
http://blog.pixnet.net/shiuju/
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.124.142.152
※ 編輯: averywu 來自: 59.124.142.152 (12/28 23:37)
→ danielguo:挑一組輸入帶進去, 然後用 EXPLAIN 把結果貼上來看看 12/29 01:22
推 ROCKIT:nested query不是效率不好嗎? 01/23 12:25