PHP 板


LINE

看板 PHP  RSS
大家好, 狀況類似是這樣 Table shop id price s001 EXA001 500 A0002 EXB002 400 s001 EXC001 300 g0012 EXD003 350 b002 EXA001 500 b002 EXA001 500 shop會有不同的編碼,沒有規則,字元不固定. id是有規則的編碼,只有前三碼是數字,並且固定就6個字元 資料庫約有幾百萬筆類似資料 而我想要知道id分別為EXA,EXB,EXC在各分店的總銷售價格. 所以先做了兩個陣列 比如 $id_arr=array('EXA001','EXB002'~~~~~~~~~~巴拉巴拉); $shop_arr=array('s001','A0002'~~~~巴拉巴拉); 然後 foreach($id_arr as $id_for) { foreach($shop_arr as $shop_for) { //以下開始叫出資料並且存成二為陣列,類似這樣 $sql="SELECT SUM(num1) as sumprice FROM (SELECT price as num1 FROM table WHERE id LIKE '{$id_for}%' AND shop LIKE '{$shop_for}%') as num2 "; $sumprice = mysql_fetch_object($sql); $ans_arr[$id_for][$shop_for]=$sumprice->price; } } 最後資料出來是出來了,但是跑了大概30多秒吧...超久. 我知道以上是很蠢的做法,囧興. 所以想要請教各位先進,有沒有更高級快速的做法呢? 我的想法是 shop基本上應該還是用迴圈去跑,但是id可以判斷前三碼,只截取前三碼, 然後把他們GROUP BY,這樣可行嗎? 類似 GROUP BY SUBSTR(id,0,2); --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.124.195.130
1F:→ kosjason:我覺得您可以嘗試 explain 看看 SQL有沒有辦法跑出來 12/23 17:35
2F:→ kosjason:因為這種 show出 data的東西 很多時候是慢在 產生html 12/23 17:35
3F:→ kosjason:百萬比對於mysql應該還好 千萬就真的 有危險了 12/23 17:36
4F:→ MOONRAKER:當然可以,寫看看不會爆炸.對SQL就是自動加temp col而已 12/23 17:48
5F:→ gname:我有一個很無聊的想法, 先把 shop, id 各用一個子查詢做 12/23 19:57
6F:→ gname:group by , 再拋來給外面的查詢用... 呃,真的很怪,算了QQ 12/23 19:58
7F:→ dlikeayu:先下index 12/23 21:10
8F:→ dlikeayu:你的資料庫好可憐,被你連線這麼多次 12/23 21:13
9F:→ dlikeayu:為何不Where id IN ('Exx1', 'Exx2') 12/23 21:14
10F:→ dlikeayu:程式少跑幾萬次迴圈,資料庫你該欄位有設Index會快些 12/23 21:15
11F:→ dlikeayu:最後一樣把子select sum起來就好 12/23 21:15







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP