我发现一个客户数据库的大小在昨天和今天之间激增。经过调查,我在表模式中发现了一个设计问题,但在进行了一些数学运算后,我知道已将 55MB 的数据添加到表中,但表大小现在为 1GB,而表的原始大小为 70MB。
有关其他信息,通过添加 2000 多行且varchar(max)字段填充数据来添加 55MB数据。
这是之前/之后的分析:
你能向我解释一下为什么一个表需要 70MB 现在在添加 55MB 数据后需要 1GB 吗?
上没有任何索引 varchar(max)
可用空间非常低,与自增长无关。并且自动增长不是用百分比配置的,而是用固定的增长大小配置的。
这是表的创建脚本:
USE [DuoClient20140003]
GO
/****** Object: Table [dbo].[tContactHistory] Script Date: 23/05/2016 10:53:19 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tContactHistory](
[KeyCH] [int] IDENTITY(1,1) NOT NULL,
[DateCH] [datetime] NULL,
[KeyType] [int] NULL,
[KeyF] [int] NULL,
[KeyI] [int] NULL,
[KeyCA] [int] NULL,
[Content] [varchar](max) NULL,
[KeyCom] [int] NULL,
[KeyMH] [bigint] …Run Code Online (Sandbox Code Playgroud) sql-server ×1