→ grence:這樣跑出來的結果跟原本的不一樣吧 12/29 22:14
改這樣會不會比較好一點?
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