首页 新闻 会员 周边 捐助

Sql server 一整行数据的更新和一行数据里面一两个字段的更新有差别吗?

1
悬赏园豆:5 [已解决问题] 解决于 2015-10-21 21:33

Sql server 一整行数据的更新和一行数据里面一两个字段的更新有差别吗?

有什么性能上的差别?

koi的主页 koi | 初学一级 | 园豆:4
提问于:2015-07-21 17:23
< >
分享
最佳答案
0

具体情况具体分析.

影响最大的就是索引

收获园豆:5
吴瑞祥 | 高人七级 |园豆:29449 | 2015-07-21 23:32

不是说  更新数据都是先删除再添加吗? 如果数据没改的话,数据库应该会有判断,不会影响没被修改列的索引吧?

koi | 园豆:4 (初学一级) | 2015-07-22 10:09
其他回答(5)
0

有差别。

爱编程的大叔 | 园豆:30844 (高人七级) | 2015-07-21 17:35

大叔,有什么差别,

支持(0) 反对(0) koi | 园豆:4 (初学一级) | 2015-07-21 17:36

@koi: 一个是一整行数据的更新

另外一个是一两个字段的更新

你没看出来差别好大吗?

然而以你的水平,咋写都一样,没人会让你写一千万并发的软件的,你放心好了。

支持(0) 反对(2) 爱编程的大叔 | 园豆:30844 (高人七级) | 2015-07-21 17:42

@爱编程的大叔: 大叔 你这不虾扯吗? 更新数据都是先删除再添加

支持(0) 反对(0) koi | 园豆:4 (初学一级) | 2015-07-22 10:06
0

我只能说唯一不变的是自增列的那个主键id

如此低调的男人 | 园豆:842 (小虾三级) | 2015-07-21 17:37
0

基本没差别 

对于数据库来说 为了检索 

所以每条数据的占的空间是固定的 

 

而对于 一次插入操作而言 首先是 执行检索操作 

检索出来了 然后进行 I/O 操作 

对于固定单元的 I/O操作我个人觉得 改一个字段2个字段没什么区别(除非你的数据量已经达到 I/O的瓶颈)

至于检索操作 应该也是一样的 但是根据一些特殊条件 有些时候检索操作从外部看起来一样 内部计划可能会根据返回值命中 不同的索引 在这里 对于检索会有一点区别 但是一般来说不会发生这种情况 基本也是可以忽略不计 

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2015-07-21 17:46
0

性能上的基本没有差别。

如果数据库表有非空字段。。那么就有差别了。。

那么必须保证id 必须要有的   ,非空字段不为空。。否则你插入不了数据。。

Vip灬cnblog | 园豆:133 (初学一级) | 2015-07-21 20:15
0

没什么区别,,都是向数据库里面添加数据,只是更新两个字段的那行数据存在部分字段是空的情况

sgf_shitou | 园豆:204 (菜鸟二级) | 2015-09-22 16:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册