为什么简单选择中会有超时

BennoDual

我有一个用于SqlCommand.ExecuteReader()从SQL Server 2008数据库读取数据的应用程序当我使用它时,我会得到一个TimeoutExceptionCommandTimeout被设定为40岁-也直到发生异常时需要40秒。我还将设置IsolationLevelReadUncommitted当我直接在SQL Server Management Studio中执行查询时,它将快速执行(1s),没有任何问题。

查询相对简单:

select TOP (50)  * 
from ActivityView('de') a 
where IsTrashed = 0 and 
   (Subject Like '%' and 
            (a.InchargeId = 'e9584e24-090a-4ef3-a048-330399bfb1b0' or a.PrivilegeLevelId in ('eb39d6bf-4904-4b8d-942f-39463c5d3c3f') or 
            (select top 1 Id from ActivityContact x where x.ActivityId = a.Id and x.UserId = '61423b82-bd6a-4381-808a-6df42f02ab59' ) is not null)) 
 order by a.[Key] desc

当我执行此操作时,我得到了休闲的异常:

   在System.Data.SqlClient.SqlConnection.OnError(SqlException异常,布尔值breakConnection)
   在System.Data.SqlClient.SqlInternalConnection.OnError(SqlException异常,布尔breakConnection)
   在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
   在System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj)处
   在System.Data.SqlClient.SqlDataReader.SetMetaData(_SqlMetaDataSet metaData,布尔moreInfo)
   在System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj)处
   在System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
   在System.Data.SqlClient.SqlDataReader.get_MetaData()
   在System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,RunBehavior runBehavior,字符串resetOptionsString)
   在System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,布尔returnStream,布尔异步)
   在System.Data.SqlClient.SqlCommand.RunExecuteReader处(CommandBehavior cmdBehavior,RunBehavior runBehavior,布尔值returnStream,String方法,DbAsyncResult结果)
   在System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,String方法)
   在System.Data.SqlClient.SqlCommand.ExecuteReader处(CommandBehavior行为,String方法)
   在System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior行为)
   在System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()

但是,当我直接在SQL Server Management Studio中执行语句时,它运行正常,没有错误。

毛里西奥·格拉西亚·古铁雷斯

由于您具有根据用户选择的过滤器构造的SQL命令,因此需要基于这些选择生成更有效的SQL命令

因此,如果用户未选择Subject,则不要使用Subject Like '%',不要在查询中包括该内容。请记住,表中的任何记录都将符合该条件,并且LIKE运算符非常耗时

将这个想法(仅包括具有某些条件的过滤器)应用到命令可以具有的所有可能的过滤器中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么sl在不同的环境中会有不同的速度?

来自分类Dev

当我没有在printf语句中添加`\ n`时,为什么输出中会有`%`?

来自分类Dev

为什么在PHP中会有一个字符串> ='0'?

来自分类Dev

为什么在Ubuntu手册页存储库中会有不同版本的手册页?

来自分类Dev

为什么在转换中会有奇怪的数字,从-90到-89.9801

来自分类Dev

为什么电子邮件布局在Yahoo和Gmail中会有所不同

来自分类Dev

促进融合为什么在c ++ 11和c ++ 03中会有不同的结果?

来自分类Dev

为什么相同的代码在pycharm和Terminal中会有不同的结果?

来自分类Dev

当我在模板文字中使用.map时,为什么输出中会有逗号?

来自分类Dev

为什么在Ubuntu手册页存储库中会有不同版本的手册页?

来自分类Dev

为什么在Windows安装过程中会有10秒的重启延迟?

来自分类Dev

为什么“用户”和“系统”时间在多次执行中会有所不同?

来自分类Dev

为什么在PHP中会有字符串> ='0'条件?

来自分类Dev

为什么电子邮件布局在Yahoo和Gmail中会有所不同

来自分类Dev

为什么承诺在循环中会有所不同?

来自分类Dev

为什么在mySql过程执行中会有一段执行时间

来自分类Dev

mysql为什么不使用键进行简单选择?

来自分类Dev

mysql为什么不使用键进行简单选择?

来自分类Dev

为什么mvn clean install和eclipse在运行的junit测试中会有所不同?

来自分类Dev

声明此javascript函数时,为什么参数中会有大括号?(节点,model.js中的MongoDB)

来自分类Dev

为什么参数包扩展在不同的C ++编译器中会有所不同?

来自分类Dev

为什么相同的代码在不同的集合合成方法中会有所不同?

来自分类Dev

为什么会有JConstructor?

来自分类Dev

为什么会有StringOutofBoundException?

来自分类Dev

URLConnection,为什么会有两个不同的超时时间?(连接并阅读)

来自分类Dev

为什么尽管使用了联接,但仍将其视为简单选择?

来自分类Dev

为什么简单的数字过滤器在Erlang中会变慢?

来自分类Dev

为什么选择binaryw。宽度58上方的格式会有所不同吗?

来自分类Dev

为什么选择元素之间会有一个神秘的边缘?

Related 相关文章

  1. 1

    为什么sl在不同的环境中会有不同的速度?

  2. 2

    当我没有在printf语句中添加`\ n`时,为什么输出中会有`%`?

  3. 3

    为什么在PHP中会有一个字符串> ='0'?

  4. 4

    为什么在Ubuntu手册页存储库中会有不同版本的手册页?

  5. 5

    为什么在转换中会有奇怪的数字,从-90到-89.9801

  6. 6

    为什么电子邮件布局在Yahoo和Gmail中会有所不同

  7. 7

    促进融合为什么在c ++ 11和c ++ 03中会有不同的结果?

  8. 8

    为什么相同的代码在pycharm和Terminal中会有不同的结果?

  9. 9

    当我在模板文字中使用.map时,为什么输出中会有逗号?

  10. 10

    为什么在Ubuntu手册页存储库中会有不同版本的手册页?

  11. 11

    为什么在Windows安装过程中会有10秒的重启延迟?

  12. 12

    为什么“用户”和“系统”时间在多次执行中会有所不同?

  13. 13

    为什么在PHP中会有字符串> ='0'条件?

  14. 14

    为什么电子邮件布局在Yahoo和Gmail中会有所不同

  15. 15

    为什么承诺在循环中会有所不同?

  16. 16

    为什么在mySql过程执行中会有一段执行时间

  17. 17

    mysql为什么不使用键进行简单选择?

  18. 18

    mysql为什么不使用键进行简单选择?

  19. 19

    为什么mvn clean install和eclipse在运行的junit测试中会有所不同?

  20. 20

    声明此javascript函数时,为什么参数中会有大括号?(节点,model.js中的MongoDB)

  21. 21

    为什么参数包扩展在不同的C ++编译器中会有所不同?

  22. 22

    为什么相同的代码在不同的集合合成方法中会有所不同?

  23. 23

    为什么会有JConstructor?

  24. 24

    为什么会有StringOutofBoundException?

  25. 25

    URLConnection,为什么会有两个不同的超时时间?(连接并阅读)

  26. 26

    为什么尽管使用了联接,但仍将其视为简单选择?

  27. 27

    为什么简单的数字过滤器在Erlang中会变慢?

  28. 28

    为什么选择binaryw。宽度58上方的格式会有所不同吗?

  29. 29

    为什么选择元素之间会有一个神秘的边缘?

热门标签

归档