性能调优——数据库索引优化

一,用什么字段做索引较好?

> 整型字段最好

> 如果要用字符索引,最好选用定长字段

> 时间字段同理,也要固定长度(sql server中,比较常用的datetime已经是固定长度)

即:

1.尽量选择int类型作为索引

2.索引长度要固定

二, 为什么会出现索引失效的情况?

1.索引没设计好

2.sql语句不规范

三,导致索引失效的场景

>  使用or的时候,两边的字段都要有索引,否则会失效。

>  使用like模糊查询时,百分号加在前面(如'%小明','%小明%'),索引会失效('小明%'不会失效)。

> 对查询的某一列有函数计算时,索引会失效。 (遇到需要计算的字段,可以放在程序中计算)

> 字符串类型数据,一定要写 where code='100',而不是'where code=100',即将字符串作为整型传值,会导致索引失效,一定要写规范。

> 左右连接两个表的字段编码不一致,会导致索引失效

> 如果查询中没有用到聚合索引的第一个字段,则索引会失效;

> 聚合索引字段之间使用了or关键字

> 使用了select *

> 用 is null和is not null没注意字段不为空(即提前留意这个字段是否允许null,避免多余判断; 另外,如果字段允许为空,可以用is null,但不能用is not null,后者会导致索引失效)

> 使用不等号会导致索引失效

> order by索引字段顺序不当导致索引失效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值