我们在一台鲲鹏服务器上部署了BoostKit加速库中的MySQL并行查询插件,表结构是按日期分区的范围分区表,单表数据量在两亿左右。开启并行查询后,大部分查询响应时间确实从原来的十几秒降到了三四秒,效果很明显。但我们在做数据校验时发现,某些跨分区扫描的查询偶尔会漏掉一部分符合条件的行。同一个查询语句反复执行,有时返回完整结果,有时会少几十条数据,少的行并不固定,但都集中在某个特定分区的边界附近。关闭并行查询功能后,这个问题就彻底消失了,每次都能返回完整的结果集。
我们排查过表的统计信息,已经是最新的,也尝试过调整并行度从默认的4降到2,问题依然偶发。慢查询日志里没有报错,数据库的错误日志也很干净。MySQL版本是8.0.32,BoostKit并行查询插件是按照文档编译安装的。想请教一下这种结果不一致的问题大概是什么原因造成的,有没有不关闭并行查询的解决方法。
我们在一台鲲鹏服务器上部署了BoostKit加速库中的MySQL并行查询插件,表结构是按日期分区的范围分区表,单表数据量在两亿左右。开启并行查询后,大部分查询响应时间确实从原来的十几秒降到了三四秒,效果很明显。但我们在做数据校验时发现,某些跨分区扫描的查询偶尔会漏掉一部分符合条件的行。同一个查询语句反复执行,有时返回完整结果,有时会少几十条数据,少的行并不固定,但都集中在某个特定分区的边界附近。关闭并行查询功能后,这个问题就彻底消失了,每次都能返回完整的结果集。
我们排查过表的统计信息,已经是最新的,也尝试过调整并行度从默认的4降到2,问题依然偶发。慢查询日志里没有报错,数据库的错误日志也很干净。MySQL版本是8.0.32,BoostKit并行查询插件是按照文档编译安装的。想请教一下这种结果不一致的问题大概是什么原因造成的,有没有不关闭并行查询的解决方法。