Re: [SQL ] 查詢語法改進請益

看板Database作者 (連米)時間15年前 (2010/12/29 10:20), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/3 (看更多)
改這樣會不會比較好一點? 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

12/29 22:14, , 1F
這樣跑出來的結果跟原本的不一樣吧
12/29 22:14, 1F
文章代碼(AID): #1D6fhLkS (Database)
文章代碼(AID): #1D6fhLkS (Database)