dbschema,DBSchema 优化

现在很多项目都用了SQL Server的Database project,所以将今天收获的一个优化过程和大家分享一下。
如果我们在存储过程或者视图中引用了系统表(比如sys.object),那么在部署的时候VS会给我们很多warning,如下图所示:
warningDBSchema 优化dbschema
如何解决呢?我们可以通过添加数据库应用的方式将Master.dbschema文件引用到project中,之后我们再进行deploy,这些warning果断消失了。
问题到这个阶段貌似是解决了,但是我们会发现以后每次打开solution的时候都会变得慢一些,CPU占用率也比较高,同时VS任务栏会显示以下提示:
clip_image002[8]warningDBSchema 优化dbschema
clip_image002[10]clip_image002[8]warningDBSchema 优化dbschema
其原因就是我们引用了Master.dbschema (8MB左右的xml格式的文件),VS解析起来比较辛苦。
我们该如何去优化呢?
首先,我们打开Master.schema文件,其结构如下:
clip_image002[12]clip_image002[10]clip_image002[8]warningDBSchema 优化dbschema
最关键的部分就在于Model节点内的内容,原始Master.dbschema文件包含了所有改数据库中的所有的objects的schema的描述信息,信息量非常大,但是事实上,我们所引用的部分非常少,常用的就是几个表,视图或者存储过程,所以我们移除掉所有不需要的部分,仅仅留下我们自己系统中引用过的schema,从而减少文件大小,达到优化的目的。附件为我自己修改过后的schema文件,只有25KB。
我们将修改过后的文件另存为一个以dbschema为后缀名的任意文件, 在database project的reference处引用咱们自定义的这个schema即可。之后我们再打开solution时,会发现加载速度和解析速度大大加快,部署的时候速度也快速许多,心情大好。
以上,希望这个经验能对你有所帮助,谢谢大家。
文件地址:http://files.cnblogs.com/WateringPig/SimplifyMaster.rar
Tags: 

延伸阅读

最新评论

发表评论