我有一张包含客户信息的表格。电话号码,地址,年龄和几个不同的自定义分组。对于任何给定的客户,所有这些事情都可能在任何一天发生变化。我被要求创建一些能够显示每位客人的运行历史记录的内容。我们可以说,在第X天,客户A有一个电话号码,一个地址,年龄等等。但是在第Y天,客户有一个电话号码,此地址,此时间等等。
以下是由此监控的某个字段的示例。(不想列出所有数百个字段)
Create Table CustHist
(
CustID int
,Phone Varchar(21)
,address1a varchar(30)
,address1b varchar(30)
,city1 varchar(30)
,State1 Varchar(30)
,zip1 varchar(5)
,address2a varchar(30)
,address2b varchar(30)
,city2 varchar(30)
,State2 Varchar(30)
,zip2 varchar(5)
,age int
,CustomGroup1 varchar(30)
,CustomGroup2 Varchar(30)
,CustomGroup3 varchar(30)
)
我的第一次尝试就是运行一个存储过程,该存储过程会每天为每个客户添加一条记录,其中包含当前信息。当我这样做时,我添加了一个col作为日期并插入当前日期。这个问题是表格大小变得疯狂,我们关心的是磁盘空间。
有没有办法在没有占用太多磁盘空间的情况下保持记录详细信息。
这是在SQL Server 2012上。
答案 0 :(得分:1)
您应该使用慢速更改尺寸。您可以规范化您的表以节省磁盘空间,但是您可以解决性能问题。