DBSchema 优化

现在很多项目都用了SQL Server的Database project,所以将今天收获的一个优化过程和大家分享一下。

如果我们在存储过程或者视图中引用了系统表(比如sys.object),那么在部署的时候VS会给我们很多warning,如下图所示:

warning

如何解决呢?我们可以通过添加数据库应用的方式将Master.dbschema文件引用到project中,之后我们再进行deploy,这些warning果断消失了。

问题到这个阶段貌似是解决了,但是我们会发现以后每次打开solution的时候都会变得慢一些,CPU占用率也比较高,同时VS任务栏会显示以下提示:

clip_image002[8]

clip_image002[10]

其原因就是我们引用了Master.dbschema (8MB左右的xml格式的文件),VS解析起来比较辛苦。

我们该如何去优化呢?

首先,我们打开Master.schema文件,其结构如下:

clip_image002[12]

最关键的部分就在于Model节点内的内容,原始Master.dbschema文件包含了所有改数据库中的所有的objects的schema的描述信息,信息量非常大,但是事实上,我们所引用的部分非常少,常用的就是几个表,视图或者存储过程,所以我们移除掉所有不需要的部分,仅仅留下我们自己系统中引用过的schema,从而减少文件大小,达到优化的目的。附件为我自己修改过后的schema文件,只有25KB。

我们将修改过后的文件另存为一个以dbschema为后缀名的任意文件, 在database project的reference处引用咱们自定义的这个schema即可。之后我们再打开solution时,会发现加载速度和解析速度大大加快,部署的时候速度也快速许多,心情大好。

以上,希望这个经验能对你有所帮助,谢谢大家。

文件地址:http://files.cnblogs.com/WateringPig/SimplifyMaster.rar

转载于:https://www.cnblogs.com/WateringPig/archive/2011/07/25/2116537.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
简化数据库设计和管理。 使用友好的GUI工具编辑,记录和浏览复杂的数据库。 使用布局简化数据库设计。 通过关注数据库架构的特定部分,可以更好地理解复杂的数据库。 使用我们直观的UI,可以很容易地为复杂模式创建数据库设计。 该界面使您能够简单地通过拖放或双击来执行复杂的动作。 同时轻松浏览来自多个表的数据。 无需成为SQL专家! DbSchema将帮助您编写SQL查询。 具有文本自动补全功能的强大编辑器。 支持所有SQL和NoSQL数据库 DbSchema通过创建自己的保存到项目文件中的架构的本地副本以独特的方式工作。 本地项目文件可以: 使用GIT或任何其他版本控制系统与团队一起处理项目文件 将设计保存到XML项目文件并使用任何文本编辑器将其打开 在多台服务器上部署一个架构 在不同版本之间迁移一个架构并生成迁移脚本 没有数据库连接的设计架构( 脱机 ) 为您的数据库架构生成PDF或交互式HTML5文档。 DbSchema可以比较不同数据库或不同项目文件之间的方案,显示它们并生成迁移脚本。 如果数据库缺少外键,则可以创建将仅保存在DbSchema中的虚拟外键 。 它们将帮助您更好地了解数据库。 这些外键用绿色标记。 使用可配置,随机和反向正则表达式 。 使用JDBC驱动程序连接到任何数据库,对结构进行反向工程,并将其作为ER图查看。 利用具有文本自动完成功能,Groovy脚本支持,脚本和查询执行功能的强大SQL编辑器。 将数据从CSV,XML等加载到数据库中。 使用文本输入,按钮和图表构建简单的Web报表或应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值