小编zav*_*vaz的帖子

如何使SQL Server索引占用更少的空间?

我有一个由某个应用程序创建的数据库.整个数据库超过50 GB,备份出现了一些问题,我的任务是让这个数据库尽可能小.

特别是一个表非常大(22 gb),其中16.5 gb是由索引获取的,其余5.5 gb是数据.它包含的行数不超过12 000 000.

你能告诉我是否可以缩小索引?我已经尝试过重建,重新组织,重新创建聚簇索引,dbcc清晰.我也知道nvarchar类型的大小比varchar大两倍,所以我将列类型更改为varchar,但是由于我节省了大约2 gb(数据上1 gb和索引上1 gb).

这是这个表的一个sql(fld0和fld1总是NULL):

CREATE TABLE [dbo].[DOC8](
 [ASSOCIATION] [nvarchar](64) NULL DEFAULT (NULL),
 [DOCID] [char](32) NOT NULL,
 [FLD0] [nvarchar](255) NULL DEFAULT (NULL),
 [FLD1] [nvarchar](2048) NULL DEFAULT (NULL),
 [FLD10] [nvarchar](255) NULL DEFAULT (NULL),
 [FLD2] [nvarchar](32) NULL DEFAULT (NULL),
 [FLD3] [nvarchar](255) NULL DEFAULT (NULL),
 [FLD4] [nvarchar](255) NULL DEFAULT (NULL),
 [FLD5] [datetime] NULL DEFAULT (NULL),
 [FLD6] [nvarchar](255) NULL DEFAULT (NULL),
 [FLD7] [nvarchar](255) NULL DEFAULT (NULL),
 [FLD8] [nvarchar](255) NULL DEFAULT (NULL),
 [FLD9] [datetime] NULL DEFAULT (NULL), …
Run Code Online (Sandbox Code Playgroud)

sql database sql-server backup

3
推荐指数
2
解决办法
6106
查看次数

标签 统计

backup ×1

database ×1

sql ×1

sql-server ×1