【巨杉数据库Sequoiadb】【咨询】【事务】【RC】RC隔离级别,在 mysql 执行 count 出现脏读情况

栏目: 数据库 · Mysql · 发布时间: 5年前

内容简介:【问题详细描述】SequoiaDB 开启事务,事务级别为 RC,在 Mysql 执行 count 出现脏读情况,具体操作如下:1.开启事务,隔离级别为 RC;

【问题详细描述】

SequoiaDB 开启事务,事务级别为 RC,在 Mysql 执行 count 出现脏读情况,具体操作如下:

1.开启事务,隔离级别为 RC;

2.执行 select count(*) from x1 获取记录数;

3.再次插入记录;

4.再次执行步骤2;

步骤4发现 count 返回新插入的记录数,出现脏读问题。

详情见附件 mysql-1/2/3/4.png

【解决办法】

1.当前版本(v3.2.1)的 quick count 机制确实是脏读的,只是临时用于 count 无条件时快速返回结果。

2.目前 quick count 是通过 sequoiadb_optimize_select_count 参数打开的特殊优化,可以通过隐藏的系统参数: sequoiadb_optimize_select_count : 来进行开关。

【配置方法】

1.非持久化生效方式

mysql> set global sequoiadb_optimizer_select_count=OFF;

重启 mysql 参数会恢复成默认值 ON。

2、持久化生效方式

修改 database/<实例>/auto.cnf 配置文件,在 [mysqld] 模块配置 sequoiadb_optimizer_select_count=OFF,修改后执行 bin/sdb_sql_ctl restart <实例名> 重启实例生效。

【注意事项】

1.带有过滤条件的 select count(*) from table where .... 语句还是原来的性能,因为 mysql 并不会把 count 下压给存储引擎。

  1. sdb 的 count() 接口是直接访问计数器的,相当于脏读。如果用户介意,就不能打开 sequoiadb_optimize_select_count 。

3.sequoiadb_optimizer_select_count 参数是内部隐藏参数,不对外开放,无相关资料说明。


以上所述就是小编给大家介绍的《【巨杉数据库Sequoiadb】【咨询】【事务】【RC】RC隔离级别,在 mysql 执行 count 出现脏读情况》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

引人入胜

引人入胜

Lynda Felder / 李婧 / 机械工业出版社华章公司 / 2012-9 / 59.00元

在这个信息泛滥、人人焦躁的时代,用户对待网页上密密麻麻的信息如同速食快餐一般,来不及咀嚼和回味就直接从眼前一闪而过了。用户是否能喜欢你的网站内容,往往取决于他瞬间的感受。我们如何才能使网站引人入胜、让用户看一眼就能迷上并流连忘返?本书给出了切实可行的解决方案,系统总结了创建优秀网站内容的策略、方法与最佳实践,内容丰富而生动。 本书作者极富创作魅力,将所有影响网站内容创作的问题进行逐一讲解和分......一起来看看 《引人入胜》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具