• SQL Server 数据库优化剖析


    一、SQL Profiler

    事件类 Stored ProceduresRPC:Completed TSQLSQL:BatchCompleted

    事件关键字段 EventSequence、EventClass、SPID、DatabaseName、Error、StartTime、TextData、 HostName、ClientProcessID、ApplicationName、 CPU、Reads、Writes、Duration、RowCounts

      1、跟踪慢SQL

        

      2、跟踪SQL执行错误

        

        

         3、调试中找到SQL

        以特殊字符作为筛选条件

        

       4、T-SQL查询trace表

        a、设置抓取的时候段

             b、保持成文件 然后用下面语句查询文件

    SELECT  EventSequence,SPID,RequestID,DatabaseId,DatabaseName
        ,LoginName,StartTime,EndTime, TextData,Error
        ,Duration/1000 AS Duration,Reads,CPU,Writes,RowCounts
        ,HostName,ClientProcessID,ApplicationName 
    INTO bak.dbo.trace
    FROM ::fn_trace_gettable('C:	raceDB50 20150623.trc', default)

    二、表存储结构

        1、页 结构

       

      2 区结构

        

       3 文件存储

       

     4 、基表

      

    5、堆表

      

    7、聚集索引

     

    8、 普通索引

      

    三、索引优化

    1、选择性高

      唯一性高的字段放最前面

    2、覆盖索引

      Select、Where、Orderby字段都在索引中 或者 INCLUDE中 这样就会走到索引

    3、控制索引数量,窄索引

      

    此图索引作用不大

    4、改善SQL语句

      a、SQL尽量简单

      b、 参数化SARG的定义 列名  操作符  <常数 或 变量> Name=’张三’ and 价格>5000  

      c、非SRAG name like ‘%张’ Name=’张三’ and 价格>5000 NOT、!=、<>、!<、!>、NOT EXISTS、NOT IN、NOT LIKE

    四、执行计划

    --显示统计信息
    SET STATISTICS IO ON 
    SET STATISTICS TIME ON 
    SELECT * FROM dbo.FreezeUserMoney

    开启执行重点看下面几个地方

  • 相关阅读:
    IIS6.0中,使用其它用户运行IIS
    c++构造函数详解
    Java创建文件夹及文件
    三大范式及存储方式
    对新型软件程序语言及架构的一点讨论
    C++虚函数解析
    验收测试驱动开发:ATDD实例详解
    什么是父路径及开启的方法
    note:全局配置visual studio 2010 头文件目录
    怎么把二级域名重定向到主域名
  • 原文地址:https://www.cnblogs.com/echosong/p/4668632.html
Copyright © 2020-2023  润新知