SQL Server:使用聚簇索引进行大数据导入

问题描述 投票:0回答:2

性能方面,当在表中批量插入数亿行时,聚簇索引是否有帮助?

LE:在INSERT之后,我必须将数据库投入生产,因此我将不得不创建一个或多个索引。

sql sql-server bulkinsert clustered-index
2个回答
0
投票

聚簇索引指定数据在数据页上排序。

插入数据时,必须对新数据进行排序并与现有值进行比较。这将产生开销。

一个例外是当你有一个标识列 - 在插入过程中生成。然后数据库知道新数据“在表的末尾”。


-1
投票

索引用于加速行的检索(SELECT)。它们仅对INSERT或DELETE或UPDATE具有反效果。而且,在您的情况下,如果INSERT是要在系统中执行的主要操作,则根本不要使用索引。即使在您的生产系统中,也要评估检索操作和插入/更新操作之间的比率,如果结果是检索操作占主导地位,那么您可以考虑索引。

注意:每当我们在表上定义主键时,就已经为该表创建了一个基本索引结构。因此,在没有任何特定的检索优化需求的情况下,实际上不需要设计和实现索引。

你可以在这里了解更多:https://www.geeksforgeeks.org/sql-indexes/

© www.soinside.com 2019 - 2024. All rights reserved.