Sql 如果在现有行中插入行或更新值,则更新列的索引是否会在此时更新?
或者我需要特别更新它们。情况是这样的:我有一个150万行90列的表。我们已经对数据进行了大量清理,我需要知道是应该重建索引,还是在该表的更新和插入操作期间已经重建了索引。数据库会不断更新索引(除非您明确告诉他们不要更新)已经有最新的索引。更新或插入(或删除)完成后,所有约束都已检查,索引已更新,触发器也已运行OK。这包括表上的索引视图 这是:Sql 如果在现有行中插入行或更新值,则更新列的索引是否会在此时更新?,sql,sql-server,sql-server-2005,indexing,Sql,Sql Server,Sql Server 2005,Indexing,或者我需要特别更新它们。情况是这样的:我有一个150万行90列的表。我们已经对数据进行了大量清理,我需要知道是应该重建索引,还是在该表的更新和插入操作期间已经重建了索引。数据库会不断更新索引(除非您明确告诉他们不要更新)已经有最新的索引。更新或插入(或删除)完成后,所有约束都已检查,索引已更新,触发器也已运行OK。这包括表上的索引视图 这是: 统计信息在需要时(即查询编译时)才会更新,但这与此无关在表中更新/插入行时会更新索引。如果您正在进行大量插入/更新,一种常见的做法是在开始该过程之前删除索
统计信息在需要时(即查询编译时)才会更新,但这与此无关在表中更新/插入行时会更新索引。如果您正在进行大量插入/更新,一种常见的做法是在开始该过程之前删除索引,然后再重新创建它们以提高性能。除非真的有必要,否则最好避免这样做,因为这是一个维护难题。从性能角度来看,这个问题非常有趣;通常人们会说“索引加速查询/sql”。这通常适用于选择,但对于插入、更新和删除可能是错误的。如果要维护索引,那么RDBMS必须对非select语句进行更多的磁盘访问、做更多的工作等。