A在MS-SQL Server 2008上有一个数据库,它逐年增长很多。
我想要做的是:获取一些数据并存储在XML文件中,并将该文件存储在同一数据库的表中。
这是个好主意吗?你有什么想法吗?
感谢。
答案 0 :(得分:2)
标准方法是设置一个新数据库(可能在不同的计算机上),该数据库将是您的存档数据库,并按计划运行存储过程以将记录移动到存档< / em>数据库(例如,仅记录2年前的记录或适合您业务问题的记录)。您必须复制表的结构并保持两个dbs同步。你可以在你的sp中只包括最大的表,通常只有少数表会引起问题。
通过这种方式,您仍然可以以适当的方式访问归档数据并对其运行查询。将数据存储在数据库中的xml对我来说并不是一个好主意,因为如果您需要旧数据,那么您将遇到困难。此外,它会给你一个巨大的磁盘空间开销。
答案 1 :(得分:0)
XML本质上是冗长的,并且在表列/行结构中存储数据的效率远远低于本地。
例如,假设只存储一个简单的用户表...
<Users>
<User>
<UserID>1</UserID>
<Name>Joe Smith</Name>
<DOB>24.02.1973</DOB>
</User>
<User>
<UserID>2</UserID>
<Name>Joleen Smith</Name>
<DOB>13.10.1962</DOB>
</User>
...
...
最好制作模式副本并将存档数据导出到第二个副本。这样你仍然可以查询它(如果它是XML)你将无法轻易做到的