mysql
参考:MySQL索引原理及慢查询优化
理解MySQL——索引与优化
mysql
索引
索引类型
从数据结构角度从物理存储角度从逻辑角度 什么样的字段不适合建索引建索引建索引的几大原则例子
索引
索引是在存储引擎中实现的,而不是在mysql服务器层实现。每种存储引擎的索引都不一定完全相同,并不是所有的存储引擎都支持所有的索引类型。
一次查询只能使用一个索引
索引类型
从数据结构角度
btree索引
B-Tree的基本思想是,所有值(被索引的列)都是排过序的,每个叶节点到跟节点距离相等,平衡树索引,btree索引中的节点都是按索引列中的顺序存储的,B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点,需要多次的IO访问
InnoDB和MyISAM都支持B-Tree索引。InnoDB用的是一个变种B+Tree,而MyISAM为了节省空间对索引进行了压缩,从而牺牲了性能。
btree索引使用场景
等值匹配 可用于= != <> IN NOT IN <=>查询语句的优化范围匹配 可用于 > >= < <= BTEWEEN AND等范围查询语句的优化匹配最左前缀 对于 name like bai% 这种后模糊匹配的查询,是可以利用name字段上建立的索引来优化查询的,但是对于name like
转载请注明原文地址: https://ju.6miu.com/read-25946.html