成都创新网站建设,领导高度重视门户网站建设,公司网站推广现状,水果网站开发所需的成本聚簇索引#xff08;主键索引#xff09;
非叶子节点上存储的是索引值#xff0c;叶子节点上存储的是整行记录。
非聚簇索引#xff08;非主键索引、二级索引#xff09;
非叶子节点上存储的都是索引值#xff0c;叶子节点上存储的是主键的值。非聚簇索引需要回表主键索引
非叶子节点上存储的是索引值叶子节点上存储的是整行记录。
非聚簇索引非主键索引、二级索引
非叶子节点上存储的都是索引值叶子节点上存储的是主键的值。非聚簇索引需要回表IO消耗。
回表
非聚簇索引先执行一次主键查询再通过适配的主键的值之后再进行一次二级索引这个过程就是回表。
覆盖索引
一次索引就可以得到数据无需回表。覆盖索引发生在联合索引where条件遵循最左匹配原则order by条件需要满足联合索引所有条件否则产生回表这个IO消耗非常大。
索引下推
发生在联合索引多个字段进行联合索引的时候遵循最左匹配原则只是在索引上进行匹配也就是说不会产生回表通常发生在like语句查询计划Using index condition就是索引下推技术。 经验优化mysql的时候当遇到至少百万级表的数据的情况下通过减少回表次数来优化sql语句是一种常用的手段之一只要保证正确使用联合索引那么效率自然不会低下。