任务描述

1.问题描述

慢SQL   大表查询RB_Ebay_Account_Fee,条件查询多次in 查询,导致查询慢

2.问题分析

in 查询  使索引失效,导致慢

3.解决方案

CustomerID IN ( 1 ) 改为:CustomerID =1

  OrderSourceID,ItemID  若是传单个参数进来用=,若是多个少量用in 换exists,若是大量则用表值参数或零时表join


4  慢脚本:

   SELECT [ID],
       [CustomerID],
       [OrderSourceID],
       [AccountDetailsEntryType],
       [BalanceCurrencyID],
       [BalanceValue],
       [ConversionRateCurrencyID],
       [ConversionRateValue],
       [date],
       [Description],
       [GrossDetailAmountCurrencyID],
       [GrossDetailAmountValue],
       [ItemID],
       [Memo],
       [NetDetailAmountCurrencyID],
       [NetDetailAmountValue],
       [OrderLineItemID],
       [ReceivedTopRatedDiscount],
       [RefNumber],
       [Title],
       [TransactionID],
       [VATPercent],
       [AccountState],
       [AmountPastDueCurrencyID],
       [AmountPastDueValue],
       [BankAccountInfo],
       [BankModifyDate],
       [BillingCycleDate],
       [CreditCardExpiration],
       [CreditCardInfo],
       [CreditCardModifyDate],
       [CurrentBalanceCurrencyID],
       [CurrentBalanceValue],
       [InvoiceBalanceCurrencyID],
       [InvoiceBalanceValue],
       [InvoiceCreditCurrencyID],
       [InvoiceCreditValue],
       [InvoiceDate],
       [InvoiceNewFeeCurrencyID],
       [InvoiceNewFeeValue],
       [InvoicePaymentCurrencyID],
       [InvoicePaymentValue],
       [LastAmountPaidCurrencyID],
       [LastAmountPaidValue],
       [LastPaymentDate],
       [PastDue],
       [PaymentMethod],
       [AddTime],
       [IsBuildFee],
       [BuildFeeTime],
       [AccountID],
       [ComeSource],
       [OrderId],
       [PayoutId],
       [BookingEntry]
FROM   RB_Ebay_Account_Fee (nolock)
WHERE  1 = 1
       AND CustomerID IN ( 1 )
       AND OrderSourceID IN ( 6768 )
       AND ItemID IN ( '273406654354' )
       AND Isnull(TransactionID, '') != '' 

历史记录  
  1. 2022-04-22 17:13:52, 由 陈少军 创建。
  2. 2022-04-22 17:14:37, 由 陈少军 指派给 huangtiekun。
    修改了 预计剩余,旧值为 "0",新值为 "2"。

    3.解决方案

    CustomerID IN ( 1 ) 改为:CustomerID =1

      OrderSourceID,ItemID  若是传单个参数进来用=,若是多个少量用in 换exists,若是大量则用表值参数或零时表join

  3. 2022-04-25 11:21:16, 由 罗友军 指派给 许瑞丰。
    修改了 指派给,旧值为 "huangtiekun",新值为 "xuruifeng"。
  4. 2022-04-27 11:08:13, 由 许瑞丰 指派给 何智军。
    修改了 指派给,旧值为 "xuruifeng",新值为 "hezhijun"。

  5. 2022-04-27 19:07:23, 由 何智军 完成。
    修改了 总计消耗,旧值为 "0",新值为 "8"。
    修改了 指派给 ,旧值为 "hezhijun",新值为 "chenshaojun"。
    修改了 实际完成,旧值为 "",新值为 "2022-04-27 19:04:32"。
    修改了 任务状态,旧值为 "wait",新值为 "done"。
    修改了 实际开始,旧值为 "0000-00-00 00:00:00",新值为 "2022-04-27 19:07:23"。
    修改了 预计剩余,旧值为 "2",新值为 "0"。
    修改了 由谁完成,旧值为 "",新值为 "hezhijun"。
    解决方案:将该查询语句中的条件OrderSourceID和ItemID的IN语句,采用函数分割通过内连接的方式,减少表扫描次数。
  6. 2022-07-16 17:09:17, 由 zhengqiao 关闭。
    修改了 任务状态,旧值为 "done",新值为 "closed"。
    修改了 指派给 ,旧值为 "chenshaojun",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "zhengqiao"。
    修改了 关闭时间,旧值为 "0000-00-00 00:00:00",新值为 "2022-07-16 17:09:17"。
    修改了 关闭原因,旧值为 "",新值为 "done"。
所属迭代 系统管理部 - 系统服务优化
所属模块 /
相关需求 暂无
指派给 Closed 于 2022-07-16 17:09:17
任务类型 后端
任务标签 初始
开发组
任务状态 已关闭
进度 100%
优先级 P2
关键词
抄送给 刘灿 黄金龙 胡晓龙 罗友军
由谁创建 陈少军 于 2022-04-22 17:13:52
由谁完成 何智军 于 2022-04-27 19:04:32
由谁取消 暂无
由谁关闭 zhengqiao 于 2022-07-16 17:09:17
关闭原因 已完成
最后编辑 zhengqiao 于 2022-07-16 17:09:17
团队 最初预计 总计消耗 预计剩余
工时信息
最初预计 0工时
总计消耗 8工时
预计剩余 0工时
预计开始 2022-04-22
实际开始 2022-04-27
截止日期 2022-04-29