我有一张超过一排的桌子.该表用于索引tiff
图像.每个图像都有像date
,number
等等的字段.我有用户以500个批量索引这些图像.我需要知道首先插入500行然后执行500次更新是否更好,或者当用户完成索引时,是否更好500个插入包含所有数据.一个非常重要的事情是,如果我首先进行500次插入,这次对我来说是免费的,因为我可以在前一天晚上完成.
所以问题是:插入或插入和更新是否更好,为什么?我id
为每个图像定义了一个值,并且我在字段上也有其他索引.
Sql server中的更新导致幻影行 - 即Sql跨越一行并放入一个新行.删除的行将在以后删除.
插入和更新都会以这种方式导致页面拆分,它们都有效地"添加"数据,只是更新标记旧的东西.
除此之外,还需要先查找行,这对于大量数据来说可能需要比更新更长的时间.
插入将总是更快,特别是如果它们是有序的或者基础表没有聚集索引.
将大量数据插入表中时,请查看当前索引 - 它们可能需要一段时间才能更改和构建.在索引中间添加值总是较慢.
您可以将其视为附加到地址簿:Z先生可以添加到最后一页,而您必须在中间找到M先生的空间.