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秒

  • 相关阅读:
    安装oracle xe一些注意点
    常用的软件设计模式的Java实现——让编程从野生到飞起
    Eclipse oxygen安装中文包
    Centos安装Redis
    Lunx下 怎样启动和关闭oracle数据库
    ORA-12537:TNS:connectionclosed错误处理过程
    启动Oracle时提示:ORA-01078:failure in processing system parameters
    Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结
    windows下Tomcat配置多实例
    Liunx下安装jdk7
  • 原文地址:https://www.cnblogs.com/liyongjian/p/3009717.html
Copyright © 2011-2022 走看看