重现步骤

[步骤]



[05:06:50]  -------------------------------------------------------------
CODE:N0506505830
Error:11_-2_0_-2146232060
SQL: SELECT Isnull(f.MaxWeight, 0) AS MaxWeight,
       f.TransportID,
       c.ID                        AS CountryID,
       f.CustomerID,
       f.SupplierID,
   isnull(ra.AreaType,1) as AreaType,
   a.PostCodeAccurat,
   a.PostCodeSection,
       f.AreaID
FROM   RB_Transport_Fee f (nolock)
       INNER JOIN RB_Area ra (nolock)
         ON f.CustomerID = ra.CustomerID
            AND f.AreaID = ra.ID
       INNER JOIN RB_Area_Country a (nolock)
         ON f.CustomerID = a.CustomerID
            AND f.AreaID = a.AreaID
       INNER JOIN E_Country c (nolock)
         ON a.CountryID = c.ID
       INNER JOIN RB_Transport_SupplierTransport rts (nolock)
         ON rts.TransportID = f.TransportID
            AND rts.CustomerID = f.CustomerID
            AND f.SupplierID = rts.TransprotSupplierID
       INNER JOIN RB_Transport_Supplier tsu (nolock)
         ON rts.TransprotSupplierID = tsu.ID
WHERE   f.CustomerID = 1 
       AND f.TransportID IN ( SELECT CAST(ITEM AS INT) FROM Charsplitforin(@TransportIDs, ',') )
ORDER  BY f.ID ASC 
PARAMS:@TransportIDs = 2984 ,
MESSAGE:执行超时已过期。完成操作之前已超时或服务器未响应。 
TRACE:   在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   在 System.Data.SqlClient.SqlDataReader.get_MetaData()
   在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   在 System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
   在 RB.DAL.DBOperator.Query(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms, Boolean IsWriteDB)   在 RB.DAL.DBOperator.toCommonTipException(SqlException ex, String sql, SqlParameter[] cmdParms)
   在 RB.DAL.DBOperator.Query(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms, Boolean IsWriteDB)
   在 RB.DALExtendV2.Generate.RB_Transport_FeeExtendV2.GetMaxWeightTransportFeeByOrdersV2(List`1 customerIds, List`1 transportIds)
   在 Biz.OrderBusiness.CheckOrder.CheckTransport(List`1 orderInfos)
   在 RB.WebApi.ApiCode.API_Methods.GetTransportFeeByRule(GetTransportFeeByRuleRequest request)
   在 RB.WebApi.ApiCode.API_Methods.GetTransportFeeByRuleList(GetTransportFeeByRuleListRequest request)
   在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   在 RB.WebApi.ApiCode.API_Entrance.ProcessRequest(HttpContext context)
   在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
   在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
   在 System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error)
   在 System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb)
   在 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)
   在 System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
   在 System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)


[结果]


[期望]

建议才用参数化,参数值 只有一个的时候才用 等于 f.TransportID=@TransportID

历史记录  
  1. 2022-09-23 18:20:18, 由 袁慧斌 创建。
  2. 2022-09-26 09:04:41, 由 胡晓龙 指派给 程伟。
    修改了 指派给,旧值为 "huxiaolong",新值为 "chengwei"。
    程伟 帮看下
  3. 2022-09-26 09:48:29, 由 程伟 指派给 唐飞飞。
    修改了 指派给,旧值为 "chengwei",新值为 "tangfeifei"。
  4. 2022-09-26 11:30:11, 由 唐飞飞 指派给 程伟。
    修改了 指派给,旧值为 "tangfeifei",新值为 "chengwei"。
  5. 2022-09-26 11:31:02, 由 唐飞飞 添加备注。
  6. 2022-09-26 11:45:22, 由 程伟 确认Bug。
    修改了 Bug类型 ,旧值为 "",新值为 "performance"。
    修改了 是否确认,旧值为 "0",新值为 "1"。
  7. 2022-09-26 11:45:56, 由 程伟 解决,方案为 性能问题 。
    修改了 解决方案,旧值为 "",新值为 "performance"。
    修改了 解决版本,旧值为 "",新值为 "trunk"。
    修改了 解决日期,旧值为 "",新值为 "2022-09-26 11:45:24"。
    修改了 指派给 ,旧值为 "chengwei",新值为 "linhonggui"。
    修改了 Bug状态 ,旧值为 "active",新值为 "resolved"。
    修改了 解决者 ,旧值为 "",新值为 "chengwei"。

    优化方案:用参数化,参数值 只有一个的时候才用 等于 f.TransportID=@TransportID

    功能点:运费计算

  8. 2022-09-27 17:51:05, 由 林鸿贵 关闭。
    修改了 Bug状态 ,旧值为 "resolved",新值为 "closed"。
    修改了 指派给 ,旧值为 "linhonggui",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "linhonggui"。
    修改了 关闭日期,旧值为 "",新值为 "2022-09-27 17:51:05"。
    相关页面冒烟功能正常,具体性能优化效果线上观察
  9. 2023-11-17 09:40:17, 由 刘超 编辑。
    修改了 所属模块,旧值为 "1710",新值为 "1855"。
  10. 2023-11-17 09:53:56, 由 刘超 编辑。
    修改了 所属模块,旧值为 "1855",新值为 "1863"。
所属项目 技术中心-需求池
所属模块 系统运维   性能优化
所属计划
所属迭代
Bug类型 性能问题
严重程度 提示
优先级 P0
Bug状态 已关闭
业务部门
影响功能
开发责任人
测试责任人
解决时效 0
激活次数 0
激活日期
是否确认 是
当前指派 Closed 于 2022-09-27 17:51:05
截止日期 0000-00-00
上线时间
上线时效
操作系统
浏览器
关键词
抄送给
所属迭代
相关需求
相关任务
由谁创建 袁慧斌 于 2022-09-23 18:20:18
影响环境 577
由谁解决 程伟 于 2022-09-26 11:45:24
解决版本 主干
解决方案 性能问题
由谁关闭 林鸿贵 于 2022-09-27 17:51:05
最后修改 刘超 于 2023-11-17 09:53:48
相关Bug