我每天使用以下代码将表从 Oracle DB 导入 SQL Server:
TRUNCATE TABLE mytable
INSERT INTO mytable (firstname, lastname, city, state)
SELECT * FROM OPENQUERY (mylinkedserver, 'SELECT firstname, lastname,
city, state FROM mylinkedtable')
以上导致“mytable”上的非聚集索引出现大量碎片(90% 到 99%)。如果我运行下面的代码
SELECT * INTO mytesttable
FROM mytable
TRUNCATE TABLE mytable
INSERT INTO mytable
SELECT * FROM mytesttable
DROP TABLE mytesttable
我的非聚集索引的碎片率在 1% 到 3% 之间。这是什么原因造成的?这两个语句都在截断表并将新数据插入到空白表中。