看板 Database 關於我們 聯絡資訊
不才最近有個語法,跑下去會要人命(要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