我现在想把这些数据 分批放到 布隆过滤器中,老师有没有什么好的办法
数据分批取出来再放过滤器的过程,SQL 语句还是要依赖分页来做,根据上面的回复,咱们这边业务侧也没办法调整,暂时是没有更好的办法。
咱们能否在外层条件 “t.row_num > 1980000” 这里做修改,每次记录下上次取到的最大值,然后在这个基础上增加分页需要的记录数作为下次 “t.row_num” 的条件。另外在写入少的场景下, 4.0 ga 会有 coprocessor cache 功能,对分页查询有很大改进。
感谢老师的回答:
还有一个问题就是,这个内部的循环,全表扫描非常的慢,ROW_NUMBER ( ) OVER ( ORDER BY id ) AS row_num
主要是因为这一句,我要如何去修改呢?
-> SELECT
-> dist_code,
-> no_han_code,
-> no_prod_code,
-> no_quantity,
-> se_date,
-> ROW_NUMBER ( ) OVER ( ORDER BY id ) AS row_num
-> FROM
-> dc_f_d_s
-> WHERE
-> Is_Del = '0'
-> ) t
使用 ROW_NUMBER()这种方式对查询来说,效率已经很高了,至于说还是非常慢,推测是数据量太大,暂无其他的优化方式。
好的谢谢老师,不知道 如果是4.0 换成 TiFlash 可不可以
多关注下官网, TiFlash 出正式版本之后可以用相似业务场景测试下。
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。