插入从选择性能SQL Server中插入



我创建了一个查询,其中我将其插入一个空表中选择了其他表的结果。

选择本身采用 〜20分钟(30 m行,120列和" where"条件,并且很好),但是 insert 进入 〜1小时

您对如何改进它有任何建议吗?

我所做的就是以下示例。

Insert Into tableA
Select *
From TableB

感谢您的帮助!

将所有索引放在TableA上,然后再次插入:

INSERT INTO tableA
SELECT * FROM TableB

已知索引会减慢插入语句。

在已经提到的索引下方,您可以检查tablea是否定义了约束(主键,外键等),因为索引通常由索引实现。

此外,您可以检查桌面上是否有触发器。另一个测试是将表格导出到文件,例如。tableb.txt,然后导入/加载文件tableb.txt到tablea中。(对不起,我不知道SQL Server的语法)。

检查的另一个可能是事务日志。可能可以将记录更改为bulk_logged参见:禁用事务日志

最佳方法是丢弃表,这样做会更快 Select * INTO TableB from tableA也提到了这里

最新更新