从性能角度来看,当在表中批量插入数亿行时,聚集索引是否有用?
LE:在插入之后,我必须将数据库投入生产,因此我将不得不创建一个或多个索引。
答案 0 :(得分:0)
聚集索引指定数据在数据页上的顺序。
在插入数据时,必须对新数据进行排序并将其与现有值进行比较。这会产生开销。
一个例外是当您有一个标识列-在插入过程中生成。然后数据库知道新数据在表的“末尾”。
答案 1 :(得分:-1)
索引用于加快对行的检索( SELECT )。它们仅对 INSERT 或 DELETE 或 UPDATE 具有反作用。而且,在您的情况下,如果INSERT是系统中要执行的主要操作,则根本不要使用索引。即使在您的生产系统中,也要评估检索操作和插入/更新操作之间的比率,如果事实证明检索操作将占主导地位,那么您就可以想到索引。
注意:每当我们在表上定义主键时,就已经为该表创建了基本索引结构。因此,无需任何特定的检索优化需求,就不需要设计和实现索引。
您可以在此处了解更多信息:https://www.geeksforgeeks.org/sql-indexes/