选择这个字段作聚集索引合理吗?
sql2000中的一个表,保存的是几十个单位的人员名单,字段有id、单位、姓名、职务等等,数据量预计会超过百万记录。因此,想用“单位”字段作聚集索引,另用“id”等两三个常用在where中的字段再建一非聚集索引。这样设计索引是否合理?心中没底,麻烦各位帮出主意。谢谢!
[解决办法]
单位+工号应该是唯一的,就用它来做唯一聚集索引吧
[解决办法]
use master
go
select
DB_NAME(d.database_id),
OBJECT_NAME(d.object_id),
i.name, --索引名称
d.index_type_desc,
d.alloc_unit_type_desc,
d.index_depth, --索引的深度
d.index_level, --索引当前级别
--索引的逻辑碎片百分比
d.avg_fragmentation_in_percent
from sys.dm_db_index_physical_stats
(db_id('数据库名称'), --数据库id
null, --对象id:数据库名称.架构.对象名称
null, --索引id
null, --分区号
'' --模式
)d
inner join sys.indexes i
on d.object_id = i.object_id
and d.index_id = i.index_id