如何缩小索引文件的大小?
删除一些不需要的索引或减少现有索引的列数。请记住,聚簇索引列是所有非聚簇索引中包含的“隐藏”列。
如果你有一个a,b,c,d
索引和a,b,c
索引,你可以考虑放弃第二个,因为第一个是第二个。
您还可能能够find potential unused indexes通过查看sys.dm_db_index_usage_stats
如何知道什么是存储在索引文件?
它会存储你定义它存储的任何东西!下面的查询将有助于你判断哪些指标使用的是空间,是什么原因(行的数据,LOB数据)
SELECT convert(char(8),object_name(i.object_id)) AS table_name, i.name AS index_name,
i.index_id, i.type_desc as index_type,
partition_id, partition_number AS pnum, rows,
allocation_unit_id AS au_id, a.type_desc as page_type_desc, total_pages AS pages
FROM sys.indexes i JOIN sys.partitions p
ON i.object_id = p.object_id AND i.index_id = p.index_id
JOIN sys.allocation_units a
ON p.partition_id = a.container_id
order by pages desc
你能告诉我们表格和你的指数是什么样子?特别是聚集索引(通常是我们的主键)很感兴趣 – 2010-09-16 14:52:18
我同意我们确实需要查看定义。 – 2010-09-16 15:13:23
大胖字符串(guid)主键在该表的每个索引中得到重复。 – 2010-09-16 18:50:00