精简版
0
0
0
云栖社区 > 开源项目 AliSQL> 博客 > 正文
Ali_冷香 2019-09-26 10:03:35 浏览 7
数据存储与数据库
- MySQL
- RDS
- SQL
- string
- update
- AliSQL
展开阅读全文
[7] Statement Queue
背景
MySQL 的 server 层和引擎层在 statement 并发执行过程中, 有很多串行化的点, 在 DML 语句中, 事务锁冲突比较常见, InnoDB 中事务锁的最细粒度是行级锁, 如果语句针对相同行进行并发操作, 会导致冲突比较严重, 系统吞吐量会随着并发的增加而递减.
AliSQL 设计了针对语句的排队机制, 相同的行或者不同的语句进行分桶排队, 尽可能的把具有相同冲突可能的在一个桶内排队, 减少 conflict 的开销.
语法
变量
系统提供了两个变量来定义 CCL queue 的 bucket 数量和大小.
1. ccl_queue_bucket_count
表示: 一共有多少个 bucket, 默认值: 4, 取值范围:[1, 64]
2. ccl_queue_bucket_size
表示: 一个 bucket 允
来源: https://yq.aliyun.com/articles/719354