作者athelok (连米)
看板Database
标题Re: [SQL ] 查询语法改进请益
时间Wed Dec 29 10:20:03 2010
改这样会不会比较好一点?
select count(stockofstore.gid)
from stockofstore
left join goods on stockofstore.gid = goods.id
join outstocklog on stockofstore.gid = outstocklog.gid and outstocklog.sid =
'$_SESSION[StoreID]'
where outstocklog.gid is not null
group by stockofstore.gid
stockofstore的gid
goods的id
outstocklog的gid sid 独立设index key
※ 引述《averywu (看文不要只会用横的看)》之铭言:
: 不才最近有个语法,跑下去会要人命(要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应用来说,这不死人才有鬼。
: 有前辈能指点一下生路吗? 感激。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.219.70.181
1F:→ grence:这样跑出来的结果跟原本的不一样吧 12/29 22:14