日期:2014-05-19  浏览次数:20503 次

update 小表与大表之间有性能差别吗?
update   一张5个varchar字段的表和更新一张50个varchar字段的表
效率上是否有差别,我只更新某一行中的一个字段

update的实质是不是先做删除再作插入?
如果是这样,操作的代价岂不是很大,甚至高于insert?


------解决方案--------------------
有差别的
------解决方案--------------------
和数据量有关
------解决方案--------------------
和索引也有关系.如果建立了索引.因在insert, update, delete时,数据库要自动重建索引.会丧失一定的性能.
------解决方案--------------------
update实际是override,仅对需求修改的数据进行改写,效率当然比先del再insert高
------解决方案--------------------
如果更新索引字段,将会影响速度
------解决方案--------------------
pdate 一张5个varchar字段的表和更新一张50个varchar字段的表 
效率上是否有差别,我只更新某一行中的一个字段 
------------------------------------------
有差别。

update的实质是不是先做删除再作插入? 
如果是这样,操作的代价岂不是很大,甚至高于insert
---------------------------------
不一定。


如果你更新的字段是聚集索引(clustered index)的一部分,则会先删除再插入,并更新所有索引
如果更新的字段是一般索引的一部分,这直接更新其值,并更新被影响的索引
如果此字段不属于任何索引,则直接更新其值,对索引没有影响


------解决方案--------------------
探讨
pdate 一张5个varchar字段的表和更新一张50个varchar字段的表
效率上是否有差别,我只更新某一行中的一个字段
------------------------------------------
有差别。

update的实质是不是先做删除再作插入?
如果是这样,操作的代价岂不是很大,甚至高于insert
---------------------------------
不一定。


如果你更新的字段是聚集索引(clustered index)的一部分,则会先删除再插入,并更新所有索引
如果更新的字…