数据库相关的知识点

索引的构成 

b+树

最左原则

https://www.cnblogs.com/-mrl/p/13230006.html

回表

为什么分页查询会越来越慢

索引是个什么东西?

索引是关系型数据库中独立的,物理的对数据库中的表中的一列或者多列进行排序的数据结构,是数据表中的一列或者多列的数据的集合,索引就像是书的目录,可以根据目录能够快速查询到相关的数据

我们可以创建哪些索引?

普通索引

主键索引

复合索引

哪些字段适合建立索引呢?

需要经常where的字段

需要join的连表字段

需要排序的字段

需要groupby的字段

索引是不是越多越好呢?

索引是真实存在的数据,过多的创建索引会导致数据量增加

索引是一颗平衡树,在数据更新的时候,索引页会频繁的进行页分裂和合并,非常耗时

为什么我们不建议使用uuid、身份证号等数据做为主键?

当我们使用自增主键的时候,叶子节点的链表会根据当前节点的最后一个位置,将最新的最新的一条数据顺序的插入到最后一个位置后面就可以了

但是当使用UUID的时候,mysql不知道这个数据要查入到哪里,所以只能从头查找要插入的位置进行插入,当这个插入的页已经满了的时候,又要重新进行分裂和合并,极大的影响了效率

为什么不建议使用select * from table?

这样查会进行回表,增加数据库的查询压力和查询时间

我们使用模糊匹配 ’%三‘ ’张%‘ 在前在后会影响索引的使用吗?

https://www.cnblogs.com/zhangyi555/p/15596768.html

你可能感兴趣的:(数据库,mysql)