数据库索引使用原则

疑难杂症   2023-04-19 09:03   342   0  

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

> 整型字段最好

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

> 时间字段同理,也要固定长度(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索引字段顺序不当导致索引失效

博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。
闲言碎语
灰姑娘嫁给了王子,但请不要忘记她也是伯爵的女儿。
赞赏支持

如果觉得博客文章对您有帮助,异或土豪有钱任性,可以通过以下扫码向我捐助。也可以动动手指,帮我分享和传播。您的肯定,是我不懈努力的动力!感谢各位亲~