我有一个由某个应用程序创建的数据库.整个数据库超过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)