我是SQL Server的新手,尽管在Oracle数据库中花了足够的时间。在我管理的当前应用程序中包含许多非规范化的临时表来接收上游数据。
已在临时表上创建视图,每个临时表包含大约40个表和多个联接。这些视图加载与另一个数据库中的视图同名的datamart表。
这些视图需要花费大量时间才能将datamart表加载大约5小时。逻辑是截断加载,即每天截断整个数据库,并使用格式文件将数据从源系统文件加载到临时区域表中。
如何截断加载过程是故意编写的,如何调整这些视图以使加载过程更快?
您可能需要查看正常的东西:
statistics io
以查看哪个表导致查询中的大多数I / O.不要过多关注实际计划中的成本百分比,这些只是估计而且可能极具误导性。
如果没有更多细节(创建表和索引子句,实际查询计划)等,则很难提供更详细的信息。