在SQL Server中进行大量查询



我是SQL Server的新手,尽管在Oracle数据库中花费了足够的时间。在当前的应用程序中,我管理的是许多可接收上游数据的符合分期表。

在分期表上创建了视图,每张表由大约40个表和多个连接组成。这些视图加载与另一个数据库中视图的同名数据的数据玛特表。

这些视图花费大量时间来加载DataMart表约5小时。逻辑是截断负载,即每天都将整个数据库截断,并使用格式文件从源系统文件加载数据。

如何调整这些视图以使负载过程更快,因为截断负载过程是故意编写的?

您可能需要研究普通的东西:

  • 打开statistics io查看哪个表引起查询中的大多数I/O
  • 从实际计划中的最左节点检查您的查询计划创建不会进入超时(因为所有加入)
  • 在计划中查看脂肪箭(=很多行要处理)
  • 在计划中检查所有昂贵的操作(类型,线轴,钥匙查找)
  • 检查计划中的估计数与实际行数的数量级差异

不要对实际计划中的成本百分比高度关注,这只是估计,并且可能会引起极大的误导。

没有更多详细信息(创建表格& index子句,实际查询计划)。提供更多详细信息是非常困难的。

相关内容

  • 没有找到相关文章

最新更新