作者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://webptt.com/cn.aspx?n=bbs/Database/M.1537499707.A.090.html
1F:→ retsamsu: mariadb 家的 federatedx 有支援 SELECT, INSERT, 09/21 12:04
2F:→ retsamsu: UPDATE, DELETE indexes, mysql 可改用 federatedx 09/21 12:06
※ 编辑: pickman888 (223.136.79.25), 09/22/2018 02:49:43
4F:→ pickman888: 善? 09/22 04:19