学习笔记-代码及SQL语句原则(数据库索引,聚合索引,费聚合索引,唯一性索引)

代码:要注重用户体验(安全性,效率高,嵌套少,可读性高:SQL语句效率要高)

SQL语句效率:index的使用

1)index:clustered index(聚合索引),non- clustered index(非聚合索引),unique index(唯一性索引)

2)clustered index :通常为主键,在SQL Server中主键默认是聚合索引(从数据结构的层面讲,表是线性表,聚合索引的逻辑结构决定表数据的物理顺序),因此聚合索引也是唯一的。

3)constraint(约束)Primary Key , foreign Key 。主键的创建必须依赖聚合索引

以下原因会导致数据库放弃索引,进行全表扫描

1:在where子句中使用 != ,<>(不等于)

2:在where子句中进行null值的判断

3:or 连接条件,所以可以的话,尽量使用Union和union all

4:前置的‘%’,所以在like子句中不要使用前置的‘%’

5:最好使用between and ,in 与on in 也用可能导致全表扫描

6:where 子句中使用参数会导致全表扫描(使用select id from t with (index (index name))) where num = @num强制使用索引) 

7:在where子句中要避免对字段进行表达式和函数操作

8:where 子句‘=’的左边进行函数和表达式运算

9:复合索引在使用时,必须字段顺序与索引顺序一致

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值