查询
(1)where的优化
- 不要使用or
- 尽量少使用in
- 用>=,不要使用>
- 不要使用!=和<>,会使索引失效
- 尽量少使用like
- 用exists代替in
- 尽量减少计算
- 可以使用between and
(2)order by之前尽量去掉不需要的数据
(3)查询
- 不要用触发器
- 使用别名
- jion尽量不要超过5个,视图嵌套不要超过两个
- 将一些需要计算的结果直接放在数据库中
- 减少or的使用可以换成union all或者union
(4)在where和order by添加索引
表设计
- 一个表索引最好不要超过6个
- 最好给数字型的字段加索引
- 将需要计算的结果直接放到表中
- 适量使用视图
- 尽量使用varchar和nvarchar,不要使用char和nchar
- 可以使用存储过程
注:在我们开发的时候可以用explain执行计划来看我们的sql是否用到了索引。当上线或者有一定的数据,我们可以用慢查询去看一下哪些sql执行时间比较长。