update 小表与大表之间有性能差别吗?
update 一张5个varchar字段的表和更新一张50个varchar字段的表
效率上是否有差别,我只更新某一行中的一个字段
update的实质是不是先做删除再作插入?
如果是这样,操作的代价岂不是很大,甚至高于insert?
------解决方案--------------------有差别的
------解决方案--------------------和数据量有关
------解决方案--------------------和索引也有关系.如果建立了索引.因在insert, update, delete时,数据库要自动重建索引.会丧失一定的性能.
------解决方案--------------------update实际是override,仅对需求修改的数据进行改写,效率当然比先del再insert高
------解决方案--------------------如果更新索引字段,将会影响速度
------解决方案--------------------pdate 一张5个varchar字段的表和更新一张50个varchar字段的表
效率上是否有差别,我只更新某一行中的一个字段
------------------------------------------
有差别。
update的实质是不是先做删除再作插入?
如果是这样,操作的代价岂不是很大,甚至高于insert
---------------------------------
不一定。
如果你更新的字段是聚集索引(clustered index)的一部分,则会先删除再插入,并更新所有索引
如果更新的字段是一般索引的一部分,这直接更新其值,并更新被影响的索引
如果此字段不属于任何索引,则直接更新其值,对索引没有影响
------解决方案--------------------