SQL优化

对SQL的优化的根本之道还是得从SQL语句入手,常用的SQL语句百分之八十以上都是查询相关,因此,我们主要从查询的角度进行优化

1. 对查询进行优化,应该尽量避免全表的扫描,可在相应列上建立索引。

2. 减少查询字段数

3. 表格相互关联时,尽量使用主键

4. 查询条件应尽量避免使用模糊查询,因为此操作可使索引失效

5. 避免使用排序字段,排序字段尽量使用主键


既然已经讲到索引相关的知识,顺道提一下聚集索引和非聚集索引

聚集索引:索引项的顺序与表中记录的物理顺序一致索引。索引一般通过B+树的数据结构实现,因为B+的磁盘IO次数更少,每次查询都到叶子节点,更稳定。

叶子节点中存储了真实的数据行,不再有另外单独的数据页。在一张表上最多只能创建一个聚集索引,因为物理顺序只有一种,且一般在主键上。


非聚集索引:索引项的顺序与表中记录的物理顺序无关。叶子节点仍然是索引节点,里面存储的是一个地址,指向数据块。


索引什么情况下会失效?

1. 索引字段进行判空查询时,如is null 或者 is not null

2.  索引字段进行模糊查询时,如like '%c'

3. 判断索引列是否等于某个值时,如!=

4. 对索引列进行运算时


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值