
mysql
youngerTree
热爱技术、热爱开发
展开
-
mysql:Explain执行计划
Explain有什么用 当Explain与SQL语句一起使用时,MySQL会显示来自优化器关于SQL执行的信息。也就是说,MySQL解释了它将如何处理该语句,包括如何连接表以及什么顺序连接表等。 表的加载顺序 sql的查询类型 可能用到哪些索引,哪些索引又被实际使用 表与表之间的引用关系 一个表中有多少行被优化器查询 ..... Explain有哪些信息 Explain执行计划包含字段信息如下:分别是id、select_type、tab...原创 2020-08-01 00:09:09 · 201 阅读 · 0 评论 -
mysql:MVCC的实现原理
MVCC,中文叫多版本并发控制,它是通过读取历史版本的数据,来降低并发事务冲突,从而提高并发性能的一种机制。它的实现依赖于隐式字段、undo日志、快照读&当前读、Read View,因此,我们先来了解这几个知识点。 隐式字段 对于InnoDB存储引擎,每一行记录都有两个隐藏列DB_TRX_ID、DB_ROLL_PTR,如果表中没有主键和非NULL唯一键时,则还会有第三个隐藏的主键列DB_ROW_ID。 DB_TRX_ID,记录每一行最近一次修改(修改/更新)它的事务ID,大小为6字节; DB原创 2020-07-28 22:28:08 · 296 阅读 · 0 评论 -
sql中索引不会被用到的几种情况
1、查询谓词没有使用索引的主要边界,换句话说就是select *,可能会导致不走索引。 比如,你查询的是SELECT * FROM T WHERE Y=XXX;假如你的T表上有一个包含Y值的组合索引,但是优化器会认为需要一行行的扫描会更有效,这个时候,优化器可能会选择TABLE ACCESS FULL,但是如果换成了SELECT Y FROM T WHERE Y = XXX,优化器会直接去索引中...原创 2019-05-07 21:38:21 · 481 阅读 · 0 评论 -
数据库隔离级别
READUNCOMMITTED(未提交读)幻想读、不可重复读和脏读都允许。一个会话可以读取其他事务未提交的更新结果,如果这个事务最后以回滚结束,这时的读取结果就可能是不正确的,所以多数的数据库都不会运用这种隔离级别。 READCOMMITTED(已提交读)允许幻想读、不可重复读,不允许脏读。一个会话只能读取其他事务已提交的更新结果,否则,发生等待,但是其他会话可以修改这个事务中被读...原创 2019-05-20 21:45:28 · 154 阅读 · 0 评论 -
乐观锁和悲观锁
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个...原创 2019-05-20 21:33:50 · 473 阅读 · 0 评论 -
数据库索引初识
数据库索引很多人都知道是加快数据查询速度的,但是对其原理却是一知半解。首先抛出问题 数据库为什么要设计索引? 图书馆存了1000W本图书,要从中找到《数据库原理》这本书,如果一本一本地查,要查到什么时候? 于是,图书管理员设计了一套规则: (1)一楼放文学类,二楼放科技类,三楼放计算机类… (2)计算机类,又分软件类,硬件类… (3)软件类,又按照书名音序排序… 通过这种方式能快速找...原创 2019-07-14 20:50:06 · 132 阅读 · 0 评论 -
数据库索引之B树
什么是B树 B树,如上图,它的特点是: (1)多叉结构; (2)叶子节点,非叶子节点,都存储数据; (3)中序遍历,可以获得所有节点; B树被作为实现索引的数据结构被创造出来,是因为它能够完美的利用“局部性原理”。 什么是局部性原理 局部性原理的逻辑是这样的: (1)内存读写块,磁盘读写慢,而且慢很多; (2)磁盘预读:磁盘读写并不是按需读取,而是按页预读,一次会...原创 2019-07-14 20:55:32 · 227 阅读 · 0 评论 -
数据库索引之B+树
什么是B+树 B+树,如上图,仍是m叉搜索树,在B树的基础上,做了一些改进: (1)非叶子节点不再存储数据,数据只存储在同一层的叶子节点上; (2)叶子之间,增加了链表,获取所有节点,不再需要中序遍历; 这些改进让B+树比B树有更优的特性: (1)范围查找,定位min与max之后,中间叶子节点,就是结果集,不用中序回溯; 画外音:范围查询在SQL中用得很多,这是B+树比...原创 2019-07-14 21:25:47 · 716 阅读 · 0 评论