zoukankan      html  css  js  c++  java
  • 使用SQL Server 索引中的包含性列的索引(Include)

    抓取出来的执行SQL如下,40W的数据Inner Join 3W的数据:

    declare @p11 int
    set @p11=15
    declare @p12 int
    set @p12=1
    exec SP_GSP_Get_Data_Paged @Tables=N'QRY_WORKITEM INNER JOIN MV_XSDD ON ROOTPROCINSTID = MV_XSDD."ProcessInstanceID"',@Fields=N' MV_XSDD."SalesOrderCode", MV_XSDD."BTypename", MV_XSDD."SaleToName", MV_XSDD."CustomField2", MV_XSDD."LSBMZD_BMMC", MV_XSDD."LSWLDW_DWMC",QRY_WORKITEM.STARTEDDATE,QRY_WORKITEM.PROCESSINSTANCEID,QRY_WORKITEM.ACTIVITYDEFINITIONID ,

    QRY_WORKITEM.PROCESSDEFINITIONID ,QRY_WORKITEM.WORKITEMID,QRY_WORKITEM.WORKTYPE',@PK=N'WORKITEMID',

    @Filter=N'QRY_WORKITEM.Participant = ''25ef7e1c-f205-4982-a684-1b6b1ab210f7'' and QRY_WORKITEM.State=''2'' AND QRY_WORKITEM.BIZPROCID = ''6c62d818-9d4f-47db-b63c-264b0982ced3''',@Sort=N'STARTEDDATE',@PageSize=220,@PageNumber=1,@AppendantTables=N'',@AppendantFilter=N'QRY_WORKITEM.Participant = ''25ef7e1c-f205-4982-a684-1b6b1ab210f7'' and QRY_WORKITEM.State=''2'' AND QRY_WORKITEM.BIZPROCID = ''6c62d818-9d4f-47db-b63c-264b0982ced3''',@AppendantSort=N'',@RecordCount=@p11 output,@RevisedPageNumber=@p12 output

     

    具有包含性列的索引

    在 SQL Server 2005 中,可以通过将非键列添加到非聚集索引的叶级别来扩展非聚集索引的功能。通过包含非键列,可以创建覆盖更多查询的非聚集索引。这是因为非键列具有下列优点:

    • 它们可以是不允许作为索引键列的数据类型。 
    • 在计算索引键列数或索引键大小时,数据库引擎不考虑它们。

    当查询中的所有列都作为键列或非键列包含在索引中时,带有包含性非键列的索引可以显著提高查询性能。这样可以实现性能提升,因为查询优化器可以在索引中找到所有列值;不访问表或聚集索引数据,从而减少磁盘 I/O 操作。

    CREATE NONCLUSTERED INDEX [WORKITEM_CHA_ID] ON [WORKITEM] 
    (
    [PARTICIPANT] ASC,
    [STATE] ASC,
    [BIZPROCID] ASC
    )
    INCLUDE ( [WORKITEMID],
    [STARTEDDATE],
    [ROOTPROCINSTID])

    GO

    新增上这个索引后,查询提高到1秒

  • 相关阅读:
    对vector等STL标准容器的排序操作
    Security log is full,only administrator can log on to fix the problem(安全日志满了)
    Linux vi 中搜索关键字
    Linux tar 解压缩命令
    max_size, capacity and size 的区别
    四个基数任意次数组合相加得到一个数N,求所有可能组合
    robot framework 笔记(三),RF安装
    电脑重装后 python 2 3快速安装
    python练习题(四)
    apscheduler 执行报错No handlers could be found for logger "apscheduler.executors.default
  • 原文地址:https://www.cnblogs.com/liyongjian/p/3009717.html
Copyright © 2011-2022 走看看