索引优化原则

索引优化原则

1	数据类型的选择

数据类型越小越好,越简单越好,避免null值


2	索引的列顺序

索引的列顺序很重要,例如index(a, b),当where中有a或a、b时,索引会被使用,但只有b时则不会被使用。因为a是这个组合索引的引导列,缺少引导列则索引不会被调用(这点不是非常确定,有的是这样有的不是这样,需要根据不同数据库不同版本来看,具体可以通过查询计划查看)。

索引列的顺序应该和其被使用率相关,使用率越高的列,应该越往前面放。


3	聚集索引、B+树、主键

一个表只能有一个聚集索引,聚集索引以B+树形式存储,所以,聚集索引的规则决定了索引存放的物理顺序(聚集索引对需要最快速缩小查询访问及最快速进行字段排序时,非常有用),需要特别注意。

Mysql的聚集索引就是主键,主键与聚集索引不能分离。
Mssql的聚集索引不一定是主键,主键与聚集索引可以不一样,可通过clustered声明。

在可能的情况下,应当分别设计主键和聚集索引,因为聚集索引有非常好的查询性能。


4	聚集与非聚集索引的使用情况概述

动作描述	聚集索引	非聚集索引
列经常被分组、排序	√	√
返回某范围内的数据	√	×
频繁更新的列	×	√
主、外键列	√	√
频繁修改索引列	×	√


5	使用索引需要避免的一些操作
5.1	Or
5.2	否定查询
5.3	模糊查询
5.4	避免null




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值