今天在QQ群里有人问到下面问题

 聚集索引更新后会不会马上重新排序

提问人用的是MYSQL,不过这个问题让我想起了SQLSERVER的万圣节问题

万圣节问题就是因为更新了非聚集索引之后,非聚集索引迅速排序导致的更新错误问题

详见:SQLSERVER中的假脱机

当时我只是测试了非聚集索引下面的情况,但是聚集索引下面有没有这种情况呢?

我们修改一下SQLSERVER中的假脱机中的脚本,将建立非聚集索引的那条语句改为建立聚集索引

 

使用下面SQL脚本建立测试环境

 1 USE master
 2 GO
 3 CREATE DATABASE Spool
 4 GO
 5 
 6 USE [Spool]
 7 GO
 8 
 9 
10 --建表
11 CREATE TABLE Halloween
12 (
13   ID INT IDENTITY(1, 1),
14   Name VARCHAR(30) ,
15   Salary NUMERIC(18, 2),
16   Remark NVARCHAR(3000)
17 )
18 GO
19  
20 --插入数据
21 INSERT INTO [dbo].[Halloween] ( [Name], [Salary], [Remark] )
22 SELECT '小明',1,replicate('a', 3000) UNION ALL
23 SELECT '小方',2,replicate('a', 3000) 
24 
25 
26 
27 
28 --建立聚集索引
29 CREATE CLUSTERED INDEX ix_Halloween ON Halloween(Salary ASC,[name])
30 GO
31 
32 --查询
33 SELECT * FROM Halloween
34 GO
View Code

相关文章:

  • 2022-02-11
  • 2022-12-23
  • 2021-08-07
  • 2021-12-18
  • 2021-11-11
  • 2021-09-17
  • 2021-10-01
  • 2021-09-25
猜你喜欢
  • 2021-11-19
  • 2022-12-23
  • 2021-12-08
  • 2021-05-25
相关资源
相似解决方案