随笔分类 - 索引
摘要:创建索引,但是索引查询速度慢,后来使用explain排查,发现索引失效。那么,记录一下索引失效的场景。 like查询,以%开头 where条件中有or !=,not in,not exist where条件使用函数或者计算 联合索引单独使用,只有第一个字段有效,其他字段无效
阅读全文
摘要:我们以MySQL为例,来说明btree索引算法和hash索引算法。首先,我们先了解一下索引,以及btree和hash是什么。 索引原理 索引用来快速寻找特定的数据值,如果没有索引,查询时需要遍历整张表。原理大概是这样: 把创建了索引的列内容排序 排序结果生成倒排表 在倒排表内容上拼上数据地址 在查询
阅读全文
摘要:一、聚簇索引 数据与索引放在一起,找到索引就找到数据 二、非聚簇索引 数据与索引存储分开 这里说的数据与索引一起还是分开指的是在btree叶子节点是否只存在索引。 使用场景 动作描述 使用聚簇索引 使用非聚簇索引 列经常被分组排序 应 应返回某范围内的数据 应 不应一个或极少不同值 不应 不应小数目
阅读全文
摘要:一、聚集索引 键值的逻辑顺序决定了表中相应行的物理顺序。 1.聚集索引可以创建在任何的字段上。每张表只有一个聚集索引。但是很多情况下,是创建在主键上,而主键是唯一的。所以,很多人认为聚集索引的约束是唯一性的。2.如果未使用UNIQUE属性创建聚集索引,数据库引擎将向表自动添加一个uniqueifie
阅读全文

浙公网安备 33010602011771号