插入大型SQL数据和索引

时间:2013-07-28 23:03:47

标签: azure azure-sql-database

你们是如何向SQL Azure插入数百万行数据的?你放弃了索引吗?

我在整批中插入大约1500万行,表中包含多个索引。我删除了索引并插入了数据,当我尝试使用sql查询重新创建索引时,Sql Management Studio超时(主机断开连接),因为在数百万行上创建索引并且未创建索引需要很长时间。我仍然有聚集索引。

我应该如何处理这种情况?

2 个答案:

答案 0 :(得分:1)

在SQL Azure中,您需要保留聚簇索引,以便可以插入数据。 SQL Azure不允许您拥有没有聚簇索引的表,因为它使用这些表来处理备份中数据库之间的同步。

我们最近一直在移动大量数据,发现SQLBulkCopy是最快的。将此与瞬态故障处理框架相结合可以提高可靠性。

有很多例子可以解决这个问题。

希望这有帮助。

答案 1 :(得分:0)

我使用用户定义的tabletype作为存储过程的参数解决了大量数据的问题,就像我们在此链接中找到的那样:http://blogs.staykov.net/2011/04/table-valued-parameter-procedures-with.html

当我看到结果时,我并不相信。