看板 Database 關於我們 聯絡資訊
(針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行) 資料庫名稱: MYSQL 資料庫版本:5.1 內容/問題描述: 我有兩個 TABLE A 撈出來可能是比較小的資料,但是其中 A 的欄位中有個會員 ID 那我又需要列出的資料表中含有會員的幾項詳細資料(會員數百萬筆) 會員的詳細資料是在 B 資料表,如果下了 JOIN 會掛掉 ... (查詢數量變A*B的感覺) 請問這樣的情形該怎麼下才比較好呢 感謝 --     (′▽‵ ) _____________ かんーまおーよんすっすー    / 丶  ヽ U CHU BIEN CAPSULE    | (よんすっすー)    / ヽ   / /__ 斯斯鼻炎膠嚢 ___ | くぉーそーよんすっすー    / /へ ヘ/ /スズレックス鼻炎カプセルA | (よんすっすー)   (_/| \_ノ/      θ       | びーさいびーえーんよんすっすー     /   /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ Mr.よんすっすー -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.116.102 ※ 文章網址: http://www.ptt.cc/bbs/Database/M.1396424072.A.C5F.html
misssomeone:你是用哪種JOIN? 04/02 16:40
bohei:查詢的次數是多次還是只會有一次查詢? 04/02 18:10
bohei:如果有多次,可以先用一個TEMP把會用到的會員資料暫存起來 04/02 18:10
bohei:之後就只需要對這TEMP做JOIN即可 04/02 18:10
ImOnLine:請問樓上temp怎麼下呢?還是要create new table呢? 04/02 22:06
dspswen:了解,我各種 JOIN 都有試看看,但是都跑不動 04/02 22:57
bohei:我是使用Oracle,語法不盡相同,但我剛剛google mysql + temp 04/03 12:17
bohei:找得到教學的文章~ 剩下的就靠自己吧XD 04/03 12:18
bohei:對了..這兩個資料表有建Index嗎? 04/03 12:19
bohei:數百萬筆雖然很多,但也沒那麼多... 如有正確Join且利用Index 04/03 12:20
bohei:應該不至於掛掉勒.. 04/03 12:20
popcorny:join B的欄位要有建立index,有建應該會很快 04/03 13:32
rockchangnew:資料庫沒那麼爛,鐵定是沒正確的index 04/03 13:33
bbcust:應該是index問題 以前也有做過好幾個百萬筆一起join 04/03 13:54
bbcust:單純select也沒幾秒 04/03 13:55
bbcust:不過是MSSQL 當時影響效能的主要還是index 04/03 13:55
jinmin88:該不會到cross join了吧? 04/07 07:00
knightnick:分兩次撈 先取會員ID,再去另一個表拿資料 04/11 20:14