镰鼬LL

导航

 

2021年7月11日

摘要: Innodb的体系架构 innodb的线程 innodb是多线程模型,后台存在多个不同的后台线程,总览innodb的发展路径,会发现随着硬件技术的发展,CPU的数量越来越多,innodb不断的将主线程中的功能拆分出来,使用独立的线程处理,这是为了更好的利用多核CPU,提高效率并减轻主线程的压力。 M 阅读全文
posted @ 2021-07-11 21:30 镰鼬LL 阅读(66) 评论(0) 推荐(0) 编辑
 

2021年7月5日

摘要: 什么是MVCC MVCC即为多版本并发控制,是一种用于提高并发量的方法,其可以有效的提高innodb引擎数据库的并发性能,做到即使有读写冲突,也能不加锁并发读。 什么是当前读和快照读 当前读:select lock in share mode(共享锁), select for update ; up 阅读全文
posted @ 2021-07-05 21:48 镰鼬LL 阅读(443) 评论(0) 推荐(0) 编辑
 

2021年7月1日

摘要: 碰巧今天遇到两个业务询问关于字符集和排序规则的问题,本次就研究下这个 具体的问题如下 问题1: CREATE TABLE IF NOT EXISTS `t_todo_file` ( `id` int(11) NOT NULL AUTO_INCREMENT, .... PRIMARY KEY (`id 阅读全文
posted @ 2021-07-01 21:41 镰鼬LL 阅读(333) 评论(0) 推荐(0) 编辑
 
摘要: redo log的组提交 WAL是事务实现持久化的常用技术,基本原理是在非只读事务提交时,将redo log顺序写入磁盘,就视为事务提交完成,不需要等到事务的修改页落盘,这是为了用顺序写代替随机写,提高事务的commit速度。redo log落盘后,即使事务没有正常commit,crash reco 阅读全文
posted @ 2021-07-01 21:40 镰鼬LL 阅读(302) 评论(0) 推荐(0) 编辑
 
摘要: redolog,即重做日志,用于实现事务的持久性,由重做日志缓存(redo log buffer)和重做日志文件(redo log file)两部分组成。 大致流程如下 需要注意的是 1,redo log 在事务执行过程中不断写入的,binlog是在事务提交时一次性写入的 2,redo log 固化 阅读全文
posted @ 2021-07-01 21:38 镰鼬LL 阅读(238) 评论(0) 推荐(1) 编辑
 
摘要: undo log 即重做日志,记录了事务的行为,在事务执行失败\回滚时。可以利用undolog将数据回滚到之前的状态,此外mvcc也是通过undo log实现。 之前说过redo log是放在ib_logfile里的,undo log是放在共享表空间,即ibdata1里(8.0 将undo 单独拿出 阅读全文
posted @ 2021-07-01 21:37 镰鼬LL 阅读(299) 评论(0) 推荐(0) 编辑
 
摘要: InnoDB引擎中的事务符合ACID特性,即 A,原子性 atomicity B, 一致性 consistency I , 隔离性 isolation D,持久性 durability 正是由于事务的ACID特性,使得事务可以将数据库从一个一致性状态转换到另一个一致性状态 下面分类说明 1,原子性。 阅读全文
posted @ 2021-07-01 21:36 镰鼬LL 阅读(72) 评论(0) 推荐(0) 编辑
 
摘要: 索引 如同书籍的目录,索引存在的价值就是加速查询,合适的索引可以显著的提高查询效率,需要注意的是 合适 的索引,索引不是万能的,但是不用索引是万万不能的 索引的主要用处有三 1,减少扫描数据的行数 2,避免服务器排序和临时表 3,将随机io变成顺序io 索引的类型 索引主要有Btree,哈希,全文和 阅读全文
posted @ 2021-07-01 21:35 镰鼬LL 阅读(63) 评论(0) 推荐(0) 编辑
 
摘要: 首先是数据类型选择的总的逻辑 1,通常情况下越小越好--节省空间 2,通常情况越简单越好--节省算力,整型的计算量显然小于char,更别提其他类型 3,避免NULL--1)被索引时多用一个字节;2)索引,比较计算时更复杂;3)被索引时更难优化;4)业务写入数据时,如果忘写这个值,也不会报错(置为nu 阅读全文
posted @ 2021-07-01 21:33 镰鼬LL 阅读(75) 评论(0) 推荐(0) 编辑
 
摘要: 最近计划将基于ceph实现mysql的快速扩容,故提前先了解下ceph相关的知识,信息主要来源于一些博客和官方文档,主要介绍了基本的原理,架构,策略,特性等。能找到的话,后面会找一些ceph + mysql的案例看看。 ceph的基本架构由 OSDs,Monitors,和MDS三部分组成。外加cli 阅读全文
posted @ 2021-07-01 21:32 镰鼬LL 阅读(335) 评论(0) 推荐(0) 编辑