SQL Server 2005:索引大于存储的数据
发布时间:2020-12-12 08:38:27 所属栏目:MsSql教程 来源:网络整理
导读:我创建了一个2个文件组的数据库:1个主要和1个索引. 主文件组包括1个数据文件(* .mdf):存储所有表 索引文件组包括1个索引文件(* .ndf):存储所有索引 大多数索引是非聚簇索引 使用数据库很短时间后,数据文件为2GB,但索引文件为12 GB.我不知道在我的数据库中
我创建了一个2个文件组的数据库:1个主要和1个索引.
>主文件组包括1个数据文件(* .mdf):存储所有表 大多数索引是非聚簇索引 使用数据库很短时间后,数据文件为2GB,但索引文件为12 GB.我不知道在我的数据库中发生了什么问题. 我有一些疑问: >如何减小索引文件的大??小? 解决方法如何减小索引文件的大??小?删除一些不必要的索引或减少现有索引的数量.请记住,聚簇索引列是所有非聚类索引中包含的“隐藏”列. 如果a,b,c,d上的索引和a,c上的索引,则可以考虑删除第二个索引,因为第一个覆盖第二个索引. 您也可以通过查看sys.dm_db_index_usage_stats来获得find potential unused indexes 如何知道什么存储在索引文件中? 它将存储您定义的任何存储!以下查询将帮助您了解哪些索引使用的空间最大,什么原因(在行数据中,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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |