Update如何适用于唯一值?

时间:2014-11-25 08:02:57

标签: sql-server performance sql-update

请查看以下代码

Create table #test
(   
    id int primary key,
    Name varchar(100)
)

insert into #test values (1,'John')
insert into #test values (2,'Walker')
insert into #test values (3,'Bob')
insert into #test values (4,'Tailor')
insert into #test values (5,'Phlip')
insert into #test values (6,'Kevin')

-- Query 1 : 
update #test set name = 'Joney' where id = 1

-- Query 2 :
set rowcount 1  
update #test set name = 'Joney' where id = 1 
set rowcount 0 
  1. #test表有主键&聚集索引。
  2. 显然,只有一行可用于身份证。
  3. 在查询1中,即使找到1行,sql server也会查找匹配的行吗?
  4. 查询2真的会获得一些性能吗?
  5. 提前致谢

1 个答案:

答案 0 :(得分:5)

在查询1中,即使找到1行,sql server也会查找匹配的行吗? 不知道它知道它是一个主键,它将在内部查看称为B +树的数据结构并找出该记录的位置。

查询2真的会获得一些表现吗? 不。它没有任何区别,但增加了开销。