首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

念问下UPDATE和索引的关系

2014-01-17 
想问下UPDATE和索引的关系不带where条件然后update一张表的某字段A,执行计划是Table Scan如果在该表某字段

想问下UPDATE和索引的关系
不带where条件然后update一张表的某字段A,执行计划是Table Scan
如果在该表某字段B上有非聚集索引,那么执行计划是Index Scan
想问一下这个是否对性能有影响?为什么?可否指定update时索引?

另外,一张表只有1个字段和另一张表有10多个字段,在做同样update tb set a=0的情况下,是否性能有不同?
[解决办法]

1、肯定对性能有影响,一种就是你说的表扫描,一种是索引,就像你要修改一本书的里一个错别字,
全表扫描是把整本书都看一遍,把错字修改,但索引就直接翻到第100页,修改了,就可以了,所以索引的方式效率更高。

[解决办法]
index scan稍微比table scan低开销一点。你可能需要对A字段加非聚集索引,如果出现index scan,也有可能是你的where条件中,选择度太低,无法使用seek

热点排行