我需要显着减小Kentico 7数据库的大小。使用下面的查询(source)查看表格,我可以看到数据大小方面的一些最大的表格是CMS_AttachmentHistory
和CMS_VersionHistory
:
CREATE TABLE #tmpTableSizes
(
tableName varchar(100),
numberofRows varchar(100),
reservedSize varchar(50),
dataSize varchar(50),
indexSize varchar(50),
unusedSize varchar(50)
)
insert #tmpTableSizes
EXEC sp_MSforeachtable @command1="EXEC sp_spaceused '?'"
select * from #tmpTableSizes
order by cast(LEFT(reservedSize, LEN(reservedSize) - 4) as int) desc
我从2013年发现forum post表示只需将AttachmentBinary
列设置为null
表中的CMS_AttachmentHistory
即可。
我不知道CMS_VersionHistory
表格中存在类似的可能性。
由于FK
约束,简单地截断表格不起作用,所以我对沿着这条路线走得更远犹豫不决。
除了SQL TRUNCATE语句之外,还有更好的方法吗?
答案 0 :(得分:1)
查看存储文件的位置。如果将数据存储在磁盘上而不是数据库中,则可以大量减少数据库的大小。 CMS SiteManager下有一个设置>设置>系统>文件:存储。检查文件系统中的存储文件。取消选中将文件存储在数据库中。
在开发网站之初,最好这样做。如果站点已经存储了数据库中的所有内容,则可以将文件移动到磁盘http://devnet.kentico.com/articles/moving-file-storage-from-database-to-file-system
答案 1 :(得分:0)
此表没有任何类似的方式,因为它与文档相关,并且没有存储任何二进制数据。
您可以按照开发指南中的说明更改设置中的长度历史记录: Configuring object versioning
最好的问候,马丁