2023-01-23 mysql列存储引擎-聚合多线程并行扫表-VCPackGuardian策略LOCK_LRU-概要设计
2023-09-27 14:25:42 时间
摘要:
聚合的多线程处理,现有代码仅保持读取的最后一个pack.在线程切换后将失效.
此前增加了一种lock_all策略, vc_guard不淘汰已读的pack, 持有所有的pack, 等待上层业务释放. 但是lock_all策略没有内存控制机制, 持续的读取pack在超过内存限制后将导致OOM.
2023-01-10 mysql列存储引擎-聚合多线程并行扫表-VCPackGuardian策略LOCK_ALL-概要设计_帝尊悟世的博客-CSDN博客
所以再新增一种LOCK_LRU策略, 以淘汰掉最近最少使用的pack.
本文阐明LOCK_LRU的设计思想.
LOCK_LRU可行的逻辑基础:
pack使用逻辑:
- 迭代器顺序向下读取pack, 解析其中内容
- 多个线程的迭代器都是向下顺序迭代, 不存在回退
- 已读的pack在使用后不会再次使用
线程模型对pack淘汰影响:
- 工作组模型
- 工作线程顺序向下, 理论上不存在读取其他线程已读的pack
- 工作线程内不应该持有其他线程的缓存pack的标识
相关文章
- 【MySQL】MySQL的存储引擎和索引详解(聚集索引和非聚集索引)
- Mysql_安装
- windows7下启动mysql服务出现服务名无效
- mongodb和mysql双写数据一致性问题
- MySQL数据库MyISAM和InnoDB存储引擎的比较
- ****Linux MySQL命令运用个人总结
- MySQL索引原理及慢查询优化-来自美团网的技术blog(写的深入浅出)
- [数据库]MYSQL之InnoDB存储引擎 VS MYISAM存储引擎
- MySQL如何定位慢sql
- MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
- mysql查看表使用的数据库引擎
- 2022-09-30 mysql列存储引擎-去除TempTableForSubquery引发的memcopy的策略
- 2023-01-10 mysql列存储引擎-聚合多线程并行扫表-并行执行失败-原因分析
- 2022-12-12 mysql列存储引擎-CW慢SQL4-对比mysql8.0-记录
- 2022-07-14 mysql/stonedb的exists子句条件const测试
- 2022-12-02 mysql列存储引擎-插入16进制数据无法查询出-记录
- 2022-12-01 mysql列存储引擎-多表leftJoin查询结果错误-记录
- 2022-11-25 mysql列存储引擎-Result set Error, when executing UNION Clause-问题记录
- 2022-11-04 mysql列存储引擎-自定义函数-派生表-问题排查
- 2022-09-26 mysql列存储引擎-多表JOIN查询慢-问题定位
- 【MySQL】C or C++连接MySQL数据库
- mysql修改表的存储引擎
- [转]Mysql的row_format
- MySQL:order by排序查询,group by分组查询
- 【Mysql系列】SQL案例练习