插入使用OpenQuery导致大规模碎片

时间:2012-08-14 20:14:47

标签: sql sql-server sql-server-2008 tsql fragmentation

我使用以下代码每天将表从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%的碎片。是什么造成的?这两个语句都截断表并将新数据插入空白表中。

0 个答案:

没有答案