标签归档:sql优化

mssql sqlserver 如何检测数据库是否由于物理IO不足而导致的性能问题呢?


摘要:
下文讲述sql脚本优化中检测是否由于物理IO不足而导致的性能问题的方法分享,如下所示;

实现思路:
    使用 set statistics io on 属性查看
     总和评估从磁盘读取的页数,
     缓存读取的页数,
     检测内存是否够用

sqlserver 如何对一条sql语句进行调优呢?


摘要:
下文讲述sql脚本调优基础方法分享,如下所示;

调优是检测sql语句是否为最优的执行方法,那么我们如何才能窥视到
sqlserver引擎执行sql脚本的内部方法呢?下文将讲述最基础的技巧,如下所示:

 sql调优基础技巧:
     打开  set statistics profile on 属性
     使sql语句运行后,产生实际的执行计划信息,
     然后分析执行计划的合理性,针对性的进行优化

例:

set statistics profile on 
go

select distinct assetSort from assetSort 
go

/*
输出列信息说明:
1.Rows 
   当前脚本影响的实际行数 

2.Executes
  执行计划运行次数

3.StmtText 
   执行计划具体内容 

4.EstimateRows
    SQL SERVER 根据表的统计信息,
       预估每一步的返回行数。
       分析时看Rows和EstimateRows对比,
       分析预估的是否准确。

5.EstimateIO
   预估IO消耗 

6.EstimateCPU 
   预估CPU消耗  

7.TotalSubtreeCost
   总消耗

8.Warmings
   是否遇到警告

9.Parallel
    是否使用了并行、执行计划 
*/
mssql之sqlserver使用执行计划对sql脚本进行调优的示例分享

mssql之sqlserver使用执行计划对sql脚本进行调优的示例分享

select 语句的编写标准


摘要:
下文讲述sql脚本编写中,select的编写注意事项,如下所示:

1.禁止使用 select * ,只展示所需的字段信息

2.超过5万数据,尽量少使用like 关键字进行模糊搜索

3.禁止大表参入join运算

4.同一字段上,少用or ,都使用in

5.对于大表,多拆分为临时表,然后进行join