作者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)
1F:→ danielguo:挑一组输入带进去, 然後用 EXPLAIN 把结果贴上来看看 12/29 01:22
2F:推 ROCKIT:nested query不是效率不好吗? 01/23 12:25