SqlServer聚集索引真的是最好了吗?

-- 先模拟环境,后面说明: USE [Temp] GO -- DROP TABLE [TestTab] TRUNCATE TABLE [TestTab] CREATE TABLE [dbo].[TestTab]( [UserAcount] [varchar](50) NOT NULL, [UserName] [varchar](50) NOT NULL, [crdatetime] [datetime] NOT NULL, [value] [numeric](18, 4) NULL, [Info] [varchar](50) NULL, CONSTRAINT [PK_TestTab] PRIMARY KEY CLUSTERED ([UserAcount] ASC,[UserName] ASC) ) ON [PRIMARY] GO -- DROP VIEW [VTestTab] CREATE VIEW [dbo].[VTestTab] AS SELECT [UserAcount],[UserName],[crdatetime],[value],[Info] FROM [dbo].[TestTab] WHERE [UserAcount] = CURRENT_USER GO -- 插入测试数据: 2538 行 INSERT INTO [TestTab]([UserAcount],[UserName],[crdatetime],[value],[Info]) SELECT CURRENT_USER,name,MAX(crdate),FLOOR(RAND(ABS(CHECKSUM(NEWID())))*1000),NULL FROM master.sys.sysobjects WHERE LEN(name)>1 AND LEN(name)<50 GROUP BY name
实际环境:
上面插入的数据是一个用户(CURRENT_USER)的数据,表中还存在更多用户.
由于是按用户划分管理(分库分区等)的,所以列名称[UserAcount]作为聚集索引首先放在第一列
因此,用户都是访问视图[VTestTab],查看到的只有用户自己的数据.
现有以下这个查询:
SELECT * FROM [VTestTab] WHERE [crdatetime] = '2011-06-17 03:18:08.647'
SqlServer聚集索引真的是最好了吗?

 

原文地址:https://www.77169.com/classical/HTML/200738.shtm

0

相关文章

发表评论

电子邮件地址不会被公开。