mysql的复习

mysql的底层架构:

1.mysql的存储引擎:5.5之前mylsam,5.5之后innodb;

mylsam与innodb的区别:

innodb支持行级锁,事务,数据崩溃恢复,支持外键;mylsam不支持这些;

2.mysql的存储结构:

innodb的存储结构页:

 sql语句:select * from usertable where userid="xx";

底层数据结构mysql中的多个数据页通过双链表来连接的,而每个数据页中的行记录是通过单链表连接的

底层查找:1.先去遍历双向链表数据页,找到我们记录所在的数据页;

     2.如果where是主键查找,可以通过二分法找到我们页中的行记录;

      如果where不是主键查找,则通过遍历的方式找到我们页中的行记录;

时间复杂度为O(n)

3.索引:

将我们的数据页变为相对有序的状态,类似目录结构

算法为二分查找,时间复杂度为O(logn);

索引的其底层数据结构为B+树

 索引的匹配原则:最左前缀匹配

避免冗余索引:aa,bb和aa的两个索引,前者找到后者一定能找到;

3.查询索引使用:

explain select * from tablename

索引

猜你喜欢

转载自www.cnblogs.com/yunianzeng/p/12363829.html