序言
优化建议
库表的合理设计对项目后期的响应时间和吞吐量起到至关重要的地位,它直接影响到了业务所需处理的sql语句的复杂程度,为提高数据库的性能,更多的把逻辑主外键、级联删除、减少check约束、给null字段添加default值等操作放到了程序端;就如,虽然修改存储过程有时候可以避免发布程序,但过多的逻辑判断也随之带来了性能问题;所以出发点不同取其平衡就好。
优化sql语句最基本的原则就是将sql语句简单化,将一个复杂的sql语句拆解执行,如图可以看出我们所执行的sql语句都是经过查询优化器分析得到高效的执行计划,那么简单的sql语句很大程度上提高了执行效率。
1、select
对于实时性不强的数据可以使用with (nolock),使用强制索指导执行计划。
select * from Person.Person with (nolock) select * from Person.Person with (index(PK_Person_BusinessEntityID))