mysql
文章平均质量分 81
小涛_foxiaotao
我是一个普通人
展开
-
Mysql为什么要使用索引,一般索引结构是什么样的?
1、Mysql引擎InnoDb下,使用索引能快速定位到数据。索引分类:主索引(一级索引,聚簇索引),二级索引(非主键索引)注:聚簇索引的特点是该列数据具有唯一性的,并不一定聚簇索引就一定是主键索引,但主键索引一定是聚簇索引。2、Mysql的索引数据结构是B+树为什么是B+tree呢,而不是单链表,或者是Btree这是B+tree的性质决定的。链表显然有致命的缺点:千万数据的索引,如果用链表作为索引,最差情况需要千万次IO,因为数据只有读到内存中才能比较是否拿到需要的数据。链表一个节点原创 2021-03-21 10:52:24 · 2761 阅读 · 0 评论 -
Mysql MVCC多并发版本控制
mysql mvcc理解1.mysql事务隔离级别1.1).读未提交 | read uncommitted : 读取尚未提交的数据 :就是脏读1.2).读已提交 | read committed:读取已经提交的数据 :可以解决脏读,存在重复读,幻读问题(RC)1.3).不可重复度 | repeatable read:重读读取:可以解决脏读 和 不可重复读 ,存在幻读问题(RR,mysql默认隔离级别)1.4).serializable:串行化:可以解决 脏读 不可重复读 和 幻读---相当于锁表(原创 2021-03-03 14:10:25 · 174 阅读 · 0 评论 -
mysql 数据库索引b+树深度问题
常见面试题:mysql数据库一颗b+数据深度大概是多少?这要从b+树的结构和数据库索引大小去分析问题,索引字段占内存大小,指针占内存大小(6字节 6Byte,或者6B)1、先看看b+树结构下面看一颗树第一行中,1,320为索引数据排序后的数据范围,1-30,320-32 对应的是页指针,指向下一页* b+树非叶子节点存放的都是key+nest指针。叶子节点存放数据*在mysql索引b+树中,非叶子节点键值数=子节点数2、计算在mysql索引中索引页默认大小16kS.原创 2020-11-05 16:36:00 · 4050 阅读 · 1 评论