
Mysql
文章平均质量分 90
Super_Javaer_Chen
这个作者很懒,什么都没留下…
展开
-
Mysql锁与MVCC机制
我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事务隔离机制、锁机制、MVCC多版本并发控制隔离机制,用一整套机制来解决多事务并发问题。事务隔离机制简单可以理解就是为了满足ACID特性而设计的事务隔离级别,这里不做详细解释。本文主要描述Mysql的锁机制以及MVCC机制。未完待续。。。...原创 2022-03-22 22:08:09 · 1676 阅读 · 0 评论 -
如何写出高性能的SQL
本文部分内容参考《MySQL高性能书籍_第3版(中文)》。前文【Mysql索引的数据结构】介绍了索引的数据结构,以及索引的优点。下面我们来看一下该如何正确的使用索引实现高性能的查询。1、独立的列如果查询中的列不是独立的,Mysql不会使用索引。独立的列是指索引列不能是表达式的一部分,也不能是函数的参数。例如下面的sql无法使用age的索引:SELECT * FROM person WHERE age + 1 = 5;Mysql无法解析这个方程式,我们应该养成将索引列单独放在比较符号的一侧的习惯。原创 2022-03-21 16:05:26 · 1974 阅读 · 4 评论 -
【Mysql索引的数据结构】
1、为什么需要索引以及什么是索引数据的存储最终是落在磁盘上,在磁道上分配了空间存放,且存放的内存空间不一定连续。如果没有索引,在查询数据时,可能每一条数据都会有一次I/O。当数据量比较大的时候,会严重影响性能。因此就需要一个有序的数据结构建立一个列值与原表行记录一一对应的表,也就是索引。换句话说,索引就是帮助mysql高效获取数据的排好序的数据结构。2、索引的选择有序的数据结构可以是二叉树、红黑树、hash、B-tree以及B+tree,这些数据结构如果用作索引,会有什么结果呢?二叉树:对于常规的列原创 2022-03-17 21:56:45 · 1671 阅读 · 2 评论