摘要: 数据库并发场景有三种,分别为: ​ 1、读读:不存在任何问题,也不需要并发控制 ​ 2、读写:有线程安全问题,可能会造成事务隔离性问题,可能遇到脏读、幻读、不可重复读 ​ 3、写写:有线程安全问题,可能存在更新丢失问题 ​ MVCC是一种用来解决读写冲突的无锁并发控制,也就是为事务分配单项增长的时间 阅读全文
posted @ 2021-08-31 00:37 一颗小红星 阅读(1568) 评论(0) 推荐(0)
摘要: 1、MVCC ​ MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。 MVCC在MySQL InnoDB中的实现主要是为了提高数据库并发性能,用更 阅读全文
posted @ 2021-08-31 00:36 一颗小红星 阅读(1466) 评论(0) 推荐(0)
摘要: 1、开启慢查询日志,准确定位到哪个sql语句出现了问题 2、分析sql语句,看看是否load了额外的数据,可能是查询了多余的行并且抛弃掉了,可能是加载了许多结果中并不需要的列,对语句进行分析以及重写 3、分析语句的执行计划,然后获得其使用索引的情况,之后修改语句或者修改索引,使得语句可以尽可能的命中 阅读全文
posted @ 2021-08-31 00:21 一颗小红星 阅读(642) 评论(0) 推荐(0)
摘要: 基于锁的属性分类:共享锁、排他锁。 基于锁的粒度分类:行级锁(innodb )、表级锁( innodb 、myisam)、页级锁( innodb引擎)、记录锁、间隙锁、临键锁。 基于锁的状态分类:意向共享锁、意向排它锁。 共享锁(share lock): 共享锁又称读锁,简称 S 锁;当一个事务为数 阅读全文
posted @ 2021-08-31 00:15 一颗小红星 阅读(628) 评论(0) 推荐(0)
摘要: 索引的数据结构和具体存储引擎的实现有关,mysql中使用较多的索引有hash索引,B+树索引,innodb的索引实现为B+树,memory存储引擎为hash索引。 B+树是一个平衡的多叉树,从根节点到每个叶子节点的高度差值不超过1,而且同层级的二节点间有指针相关连接,在B+树上的常规检索,从根节点到 阅读全文
posted @ 2021-08-31 00:04 一颗小红星 阅读(556) 评论(0) 推荐(0)