IN适合于外表大而内表小的情况;EXISTS适合于外表小而内表大的情况
根据表的情况修改下看看~~

解决方案 »

  1.   

    not in   in  效率不会很高
      

  2.   

    先把
    And ContractSN 
    NOT IN 
    (SELECT pa.ContractCode FROM WF_PaymentInfo pa, WF_ProcessInst p2 WHERE pa.ProcessInstID = p2.K2ProcessInstID AND p2.Status = 0 
    and pa.ContractCode is not NULL) 
    改成And not exists 
    (SELECT 1 FROM WF_PaymentInfo pa, WF_ProcessInst p2 WHERE pa.ProcessInstID = p2.K2ProcessInstID AND p2.Status = 0 
    and pa.ContractCode is not NULL
    and ContractSN=pa.ContractCode

    这可能改变不大,你需要说明你的表结构和索引情况,需要增加索引,你的语句没有用别名,看不出些字段是哪个表的
      

  3.   

    改好了怎么觉得没有多大的变化啊
    2005查询分析器中能显示一条SQL语句执行了多长时间啊
      

  4.   

    把in ('非项目合同审批(新)','长期战略合同审批(新)') 换成BETWEEN 会好点呢
      

  5.   

    改不了between,意义不一样,结果会不同的
    改成or效率一样的
      

  6.   

    改不了between,意义不一样,结果会不同的
    改成or效率一样的
      

  7.   

    改不了between,意义不一样,结果会不同的
    改成or效率一样的
      

  8.   


    select top 20 
    a.ContractSN,a.ContractName,a.MakedByMan,a.ContractDate,a.SumAmount,
    a.SecondCompanyName,a.K2ProcessInstID K2ProcessInstID,a.Id 
    from Wf_ContractInfo a,WF_ProcessInst  b
    Where a.K2ProcessInstID = b.K2ProcessInstID 
    And STATUS=1 and ismodifiable=1 
    AND b.K2ProcessName 
    in ('上海万科营销系统单项目非项目合同审批(新)','上海万科长期战略合同审批(新)') 
    And ContractSN 
    NOT IN 
    (SELECT pa.ContractCode FROM WF_PaymentInfo pa, WF_ProcessInst p2 WHERE pa.ProcessInstID = p2.K2ProcessInstID AND p2.Status = 0 and pa.ContractCode is not NULL)
     order by ContractDate desc 我加了表别名了、你在帮我看看
      

  9.   

    select top 20 
    a.ContractSN,a.ContractName,a.MakedByMan,a.ContractDate,a.SumAmount,
    a.SecondCompanyName,a.K2ProcessInstID K2ProcessInstID,a.Id 
    from Wf_ContractInfo a,WF_ProcessInst  b
    Where a.K2ProcessInstID = b.K2ProcessInstID 
    And b.STATUS=1 and a.ismodifiable=1 
    AND b.K2ProcessName 
    in ('上海万科营销系统单项目非项目合同审批(新)','上海万科长期战略合同审批(新)') 
    And a.ContractSN 
    NOT IN 
    (SELECT pa.ContractCode FROM WF_PaymentInfo pa, WF_ProcessInst p2 WHERE pa.ProcessInstID = p2.K2ProcessInstID AND p2.Status = 0 and pa.ContractCode is not NULL)
     order by ContractDate desc
    这个是对的
      

  10.   

    表结构如下
    GO
    /****** 对象:  Table [dbo].[WF_ProcessInst]    脚本日期: 09/04/2008 14:44:22 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[WF_ProcessInst](
    [K2ProcessInstID] [int] NOT NULL,
    [ProcessID] [bigint] NULL,
    [K2ProcessName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [Title] [nvarchar](1000) COLLATE Chinese_PRC_CI_AS NULL,
    [FirstActComments] [nvarchar](1000) COLLATE Chinese_PRC_CI_AS NULL,
    [Status] [int] NULL,
    [OriginatorCode] [nvarchar](128) COLLATE Chinese_PRC_CI_AS NULL,
    [OriginatorName] [nvarchar](128) COLLATE Chinese_PRC_CI_AS NULL,
    [StartDate] [datetime] NULL,
    [FinishDate] [datetime] NULL,
    [FormCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [IsPrint] [smallint] NULL,
    [CancelComments] [nvarchar](1000) COLLATE Chinese_PRC_CI_AS NULL,
     CONSTRAINT [WF_ProcessInst_PK] PRIMARY KEY CLUSTERED 
    (
    [K2ProcessInstID] ASC
    ) ON [PRIMARY]
    ) ON [PRIMARY]
    =========================================================================================================
    GO
    /****** 对象:  Table [dbo].[WF_PaymentInfo]    脚本日期: 09/04/2008 14:45:38 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[WF_PaymentInfo](
    [ID] [bigint] NOT NULL,
    [ProcessInstID] [int] NOT NULL,
    [Code] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
    [CodeIndex] [int] NOT NULL,
    [ContractCode] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    [ContractName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [CreateTime] [datetime] NOT NULL,
    [CreatorPerson] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
    [CreatorDepart] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
    [ProjectCode] [nvarchar](30) COLLATE Chinese_PRC_CI_AS NULL,
    [ProjectName] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
    [ProjectPeriodCode] [nvarchar](30) COLLATE Chinese_PRC_CI_AS NULL,
    [ProjectPeriod] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [ProjectSpecialty] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    [MakingProjectName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [IsCommitFund] [smallint] NULL,
    [IsMatchFundPlan] [smallint] NULL,
    [IsInSpecialtyFundPlan] [smallint] NULL,
    [IsInProjectFundPlan] [smallint] NULL,
    [IsInDepartFundPlan] [smallint] NULL,
    [IsProjectRelation] [smallint] NULL,
    [PartAName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [PartAAccount] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [PartABank] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [PartBName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [PartBBank] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [PartBAccount] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [CurrencyType] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    [PaymentType] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    [PaymentCategory] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    [CurPaySum] [decimal](18, 2) NULL,
    [Reason] [nvarchar](200) COLLATE Chinese_PRC_CI_AS NULL,
    [BudgetPrice] [decimal](18, 2) NULL,
    [ProjectDescription] [nvarchar](200) COLLATE Chinese_PRC_CI_AS NULL,
    [OutLayType] [nvarchar](10) COLLATE Chinese_PRC_CI_AS NULL,
    [RealPayedSum] [decimal](18, 2) NULL,
    [AduitedSum] [decimal](18, 2) NULL,
    [ContractSum] [decimal](18, 2) NULL,
    [ApplySum] [decimal](18, 2) NULL,
    [MonthSpecialtySum] [decimal](18, 2) NULL,
    [MonthProjectSum] [decimal](18, 2) NULL,
    [PlanPaymentDate] [datetime] NULL,
    [IsLastPayment] [smallint] NULL,
    [CurContractSum] [decimal](18, 2) NULL,
    [DesignProceedingName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [NoContractCause] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [IntendingSum] [decimal](18, 2) NULL,
    [ApplyDate] [datetime] NULL,
    [InvoiceSum] [decimal](18, 2) NULL,
    [TotalInvoiceSum] [decimal](18, 2) NULL,
    [ProjectComments] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [DeductionSum] [decimal](18, 2) NULL,
    [CostAffirmSum] [decimal](18, 2) NULL,
    [DeductionCompany] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [ProjectAddUp] [decimal](18, 2) NULL,
    [ProjectSpacialtyAddUp] [decimal](18, 2) NULL,
    [CurPayOrgSum] [decimal](18, 2) NULL,
    [IsMeetingPayment] [smallint] NULL,
    [IsGeneralOffice] [smallint] NULL,
    [IsCustomerDamage] [smallint] NULL,
    [IsPropertyOperate] [smallint] NULL,
    [CategoryLVL1] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [CategoryLVL2] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [CategoryLVL3] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [CategoryLVL4] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [IsBonusStartFund] [smallint] NULL,
    [PaymentBank] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [CashierCode] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    [PaymentDate] [datetime] NULL,
    [BursarCode] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    [RequisitionCode] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    [IsDeduction] [smallint] NULL,
    [Comments1] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [WorkflowType] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [RealWorkSum] [decimal](18, 2) NULL,
    [DeducedProceeding] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [SalesChargeSum] [decimal](18, 2) NULL,
    [IsRedLine] [smallint] NULL,
    [IsLandValue] [smallint] NULL,
    [DeductedSum] [decimal](18, 2) NULL,
    [IsSalesRelation] [smallint] NULL,
    [IsPublicFare] [smallint] NULL,
    [DeducedSum] [decimal](18, 2) NULL,
    [RELID] [int] NULL,
    [ExportNumber] [int] NULL,
    [ExportTime] [datetime] NULL,
    [ExportType] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [IsCoProject] [smallint] NULL,
    [BalanceCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [BalanceAmount] [decimal](18, 2) NULL,
    [ProcessName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [CoProjectValue] [int] NULL,
    [ResourceID] [bigint] NULL,
    [Van_ZJJH_ProcessInstID] [bigint] NULL,
    [Van_ZJJH_CZ] [char](10) COLLATE Chinese_PRC_CI_AS NULL,
    [IsBuildingRepairDeduction] [smallint] NULL,
    [IsProject] [smallint] NULL,
    [IsPremiumMargin] [smallint] NULL,
    [IsContractUsed] [smallint] NULL,
    [ViceLeader] [smallint] NULL,
    [IsClassReward] [smallint] NULL,
    [IsHROther] [smallint] NULL,
    [ServiceType] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    [PaymentTypeCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [OutLayTypeCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [CurrencyTypeCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [ProjectSpacialtyCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [CashierCodeNumber] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
     CONSTRAINT [PK_WF_PAYMENT_UNION] PRIMARY KEY CLUSTERED 
    (
    [Code] ASC
    ) ON [PRIMARY]
    ) ON [PRIMARY]GO
    SET ANSI_PADDING OFF
    GO
    EXEC dbo.sp_addextendedproperty @name=N'MS_Description', @value=N'制单时间' ,@level0type=N'USER', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'WF_PaymentInfo', @level2type=N'COLUMN', @level2name=N'CreateTime'GO
    EXEC dbo.sp_addextendedproperty @name=N'MS_Description', @value=N'制单人' ,@level0type=N'USER', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'WF_PaymentInfo', @level2type=N'COLUMN', @level2name=N'CreatorPerson'GO
    USE [CmsProject1]
    GO
    ALTER TABLE [dbo].[WF_PaymentInfo]  WITH NOCHECK ADD  CONSTRAINT [FK_WF_PaymentInfo_WF_ProcessInst] FOREIGN KEY([ProcessInstID])
    REFERENCES [dbo].[WF_ProcessInst] ([K2ProcessInstID])
    GO
    ALTER TABLE [dbo].[WF_PaymentInfo] CHECK CONSTRAINT [FK_WF_PaymentInfo_WF_ProcessInst]
      

  11.   

    GO
    /****** 对象:  Table [dbo].[WF_ContractInfo]    脚本日期: 09/04/2008 14:44:44 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[WF_ContractInfo](
    [ID] [bigint] NOT NULL,
    [K2ProcessInstID] [int] NULL,
    [OriginalContractID] [bigint] NULL,
    [ContractSideSelected] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [ContractAmount] [numeric](18, 2) NULL,
    [AgentAmount] [numeric](18, 2) NULL,
    [PlanSalesCharge] [numeric](18, 2) NULL,
    [PlanSalesBackUp] [numeric](18, 2) NULL,
    [FutureSalesCharge] [numeric](18, 2) NULL,
    [BalanceAmount] [numeric](18, 2) NULL,
    [SumAmount] [numeric](18, 2) NULL,
    [OriginalAmount] [numeric](18, 2) NULL,
    [RMBAmount] [numeric](18, 2) NULL,
    [ContractSN] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    [ContractDate] [datetime] NULL,
    [ContractBelong] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [ContractCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [ContractName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [ContractProject] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [ContractType] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    [ContractDesc] [nvarchar](500) COLLATE Chinese_PRC_CI_AS NULL,
    [ContractProjectSession] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [IsJiZhong] [nvarchar](10) COLLATE Chinese_PRC_CI_AS NULL,
    [SecondCompanyName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF__WF_Contra__Secon__3B219CFC]  DEFAULT (N'1'),
    [SecondBankName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [SecondBankAccount] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF__WF_Contra__Secon__3C15C135]  DEFAULT (N'0'),
    [ThirdCompanyName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [ThirdBankName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [ThirdBankAccount] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [FourthCompanyName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [FourthBankName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [FourthBankAccount] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [CurrencyType] [nvarchar](30) COLLATE Chinese_PRC_CI_AS NULL,
    [CostType] [nvarchar](30) COLLATE Chinese_PRC_CI_AS NULL,
    [ArchiveID] [nvarchar](32) COLLATE Chinese_PRC_CI_AS NULL,
    [StrategyAgreeContractID] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [MakedByDept] [nvarchar](30) COLLATE Chinese_PRC_CI_AS NULL,
    [MakedByMan] [nvarchar](30) COLLATE Chinese_PRC_CI_AS NULL,
    [Level1Category] [nvarchar](40) COLLATE Chinese_PRC_CI_AS NULL,
    [Level2Category] [nvarchar](40) COLLATE Chinese_PRC_CI_AS NULL,
    [Level3Category] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [Level4Category] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [CapitalContractAmount] [nvarchar](128) COLLATE Chinese_PRC_CI_AS NULL,
    [PaymentType] [nvarchar](32) COLLATE Chinese_PRC_CI_AS NULL,
    [PaymentTimeLimit] [nvarchar](64) COLLATE Chinese_PRC_CI_AS NULL,
    [DraftMode] [nvarchar](64) COLLATE Chinese_PRC_CI_AS NULL,
    [TreeNOBackUp] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [Level2BackUp] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [ContractDeclareDelay] [bit] NULL,
    [IsTerminated] [bit] NULL,
    [IsZongHe] [bit] NULL,
    [PriceKind] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [IsDoubleSide] [bit] NULL,
    [IsCostContract] [bit] NULL,
    [IsClosed] [bit] NULL,
    [IsSupplyMaterial] [bit] NULL,
    [IsPreceding] [bit] NULL,
    [IsProjectRelated] [bit] NULL,
    [IsStandardContract] [bit] NULL,
    [IsSalesProject] [bit] NULL,
    [IsMediaFee] [bit] NULL,
    [ProjectCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [Speciality] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [UserGroup] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [Excess] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [UserID] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [CapitalOriginalAmount] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [CapitalRMBAmount] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [CapitalSumAmount] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [ContractStatus] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [IsModifiable] [bit] NULL,
    [TreeNO] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [Comment] [nvarchar](2000) COLLATE Chinese_PRC_CI_AS NULL,
    [ArchiveDate] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [NonBidProjectName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [ZhaoBiaoType] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [IsOutRedLine] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [SecondCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [ThirdCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [FourthCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [tag1] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [tag2] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [tag3] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [tag4] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [tag5] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [tag6] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [tag7] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [tag8] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [tag9] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [CRTID] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [CRTTIME] [datetime] NULL,
    [EDTID] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [EDTTIME] [datetime] NULL,
    [RESID] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [RELID] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [IsClose] [smallint] NULL,
    [BalanceState] [smallint] NULL,
    [BalanceDate] [datetime] NULL,
    [ResourceID] [bigint] NULL,
    [UniqueCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [UniqueCodeIndex] [int] NULL,
    [IsTackContract] [smallint] NULL,
    [CooperateCode] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    [CooperateName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [IsCooperate] [nvarchar](10) COLLATE Chinese_PRC_CI_AS NULL,
    [ContractDescRecordID] [bigint] NULL,
    [AlterationContractName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [AlterationContractDesc] [nvarchar](500) COLLATE Chinese_PRC_CI_AS NULL,
    [PlusOrMinusOriginalAmount] [numeric](18, 0) NULL,
    [PlusOrMinusRMBAmount] [numeric](18, 0) NULL,
    [CapitalPlusOrMinusOriginalAmount] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [CapitalPlusOrMinusRMBAmount] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    [AlterationContractDescRecordID] [bigint] NULL,
    [MakingProjectName] [nvarchar](200) COLLATE Chinese_PRC_CI_AS NULL,
    [PaymentCode] [nvarchar](40) COLLATE Chinese_PRC_CI_AS NULL,
    [IsPremiumMargin] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [IsAuditContract] [bit] NULL,
    [PaymentTypeCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [CurrencyTypeCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [ProjectSpacialtyCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [OrgUnit] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
     CONSTRAINT [PK_WF_Contract] PRIMARY KEY CLUSTERED 
    (
    [ID] ASC
    ) ON [PRIMARY]
    ) ON [PRIMARY]GO
    SET ANSI_PADDING OFF
    这3张表就是这条SQL语句用到的3张表结构
      

  12.   

    试下加以下三个索引(没有数据量,所以不一定是高效的)WF_ProcessInst(STATUS,K2ProcessName,K2ProcessInstID)
    Wf_ContractInfo(K2ProcessInstID,ismodifiable,ContractSN)
    WF_PaymentInfo(ProcessInstID,ContractCode)
      

  13.   

    CREATE UNIQUE INDEX idxSTATUS ON WF_ProcessInst(STATUS)
    CREATE UNIQUE INDEX idxK2ProcessName ON WF_ProcessInst(K2ProcessName)
    CREATE UNIQUE INDEX idxK2ProcessInstID ON WF_ProcessInst(K2ProcessInstID)
    是不是这样创建?
      

  14.   

    create index IX_ProcessInst
    on WF_ProcessInst(STATUS,K2ProcessName,K2ProcessInstID)create index IX_ContractInfo
    on Wf_ContractInfo(K2ProcessInstID,ismodifiable,ContractSN)create index IX_PaymentInfo
    on WF_PaymentInfo(ProcessInstID,ContractCode)
    我创建好了。
      

  15.   

    CREATE INDEX idx_WF_ProcessInst_STATUS ON WF_ProcessInst(STATUS,K2ProcessName,K2ProcessInstID) 
    goCREATE INDEX idx_Wf_ContractInfo_K2ProcessInstID ON Wf_ContractInfo(K2ProcessInstID,ismodifiable,ContractSN) 
    goCREATE INDEX idx_WF_PaymentInfo_ProcessInstID ON WF_PaymentInfo(ProcessInstID,ContractCode) 
    go
      

  16.   

    使用 temp table  cach