作者pickman888 (joker)
看板Database
標題Re: [SQL] MySQL 如何有效率的從兩個伺服器篩選大量
時間Fri Sep 21 11:15:05 2018
※ 引述《funnytseric (咩~~)》之銘言:
: 3. 我的問題
: 之前有過幾次經驗,當我用where not in 語法篩選資料時,
: 如果not in 裡面的條件太多就會跑很久,有時會久到被中斷
: 連線(但where in 還沒遇過,我也不太確定),所以有點
: 怕遊戲正式對外開放時我的查詢會崩潰。
: 之前問過DBA同事,他們說可以用inner join的話會比where
: 好,但資料分散在兩台機器上,我沒辦法直接做join。為了
: join我還試過用transaction 在logDB開temporary table,用
: Dapper(.NET一個評價頗高的ORM套件)把撈到的uid insert
: 到這個暫存表,但光insert 150多筆資料就花了7秒...所以只
: 好放棄。想請問各位前輩,在我這種狀況下,該如何提升我
: 的查詢效能,以應付將來更大的資料量?懇請各位指點,謝
: 謝!手機排版,如果有點凌亂請見諒。
: -----
: Sent from JPTT on my iPhone
federated table 有索引問題,not in 也是不會使用索引
可以作mysql replication同步需要的表,
另如果是mysql 8的版本也可以用JSON_TABLE功能作出需要的UID表,
另外查詢會time out 也可能是設定的逾時太短,可以先加大試試,
不過查詢太久就要注意LOCK的問題
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.79.25
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1537499707.A.090.html
→ retsamsu: mariadb 家的 federatedx 有支援 SELECT, INSERT, 09/21 12:04
→ retsamsu: UPDATE, DELETE indexes, mysql 可改用 federatedx 09/21 12:06
※ 編輯: pickman888 (223.136.79.25), 09/22/2018 02:49:43
→ pickman888: 善? 09/22 04:19