我已经在谷歌上搜索了一段时间..有什么方法可以确定估计的查询执行时间>
ssms上有实际的执行计划和估计的执行计划。问题是这些都没有估计时间。
Sql Server 中是否缺少某些东西?
我已经在谷歌上搜索了一段时间..有什么方法可以确定估计的查询执行时间>
ssms上有实际的执行计划和估计的执行计划。问题是这些都没有估计时间。
Sql Server 中是否缺少某些东西?
目前,没有。微软目前正在研究结合已经完成的工作和估计的执行计划的方法(请参阅他们在微软研究网站上的研究细节),因此我们可以期待很快看到一些东西。但这是我所知道的唯一发展。
对于需要大量时间的流程,我过去最成功使用的解决方案是将流程分解为更小的任务,并在每个任务结束时设置里程碑。记录每个任务的所有执行的总时间,用于对当前执行的进度进行基准测试。这在很大程度上取决于查询的线性(即执行时间与记录数成线性比例)。里程碑可以通过一个过程的步骤来衡量,也可以通过将数据分成更小的部分来衡量,或者两者兼而有之。
您可以通过实际运行查询来估计查询执行时间的唯一方法。即使在那之后,下次是否可能会有所不同,因为它取决于许多因素,例如您的服务器有多忙,或者许多进程正在尝试访问该表或您尝试访问的数据量。
SQL Server 不估计执行时间。
估计的查询成本在文档中被误导地等同于估计的时间(以秒为单位)(对于查询调控器等功能),但它实际上只是一个无单位的值。