优化构建时间

Posted

技术标签:

【中文标题】优化构建时间【英文标题】:Optimise Build Time 【发布时间】:2015-11-16 10:40:07 【问题描述】:

我有一个 SSDT 项目,其中包含(除其他外)

1115 个用户表, 1209 次观看 5304 个存储过程

在这些存储过程中,有 3126 个与仍在使用的遗留 DA 系统相关。这些 proc 是针对表的 CRUD 操作 - 并且始终针对单个表。很遗憾,目前无法删除这些内容。

通过 MSBuild 运行构建/发布时,此数据库项目需要大约 10 分钟才能执行。但是,如果我删除 CRUD 过程,则该时间会减少到大约 2 分钟。

我尝试将这些方法提取到复合​​项目中,但总体时间似乎没有显着变化。

数据库项目正在使用.SqlProj 文件中的<CmdLineInMemoryStorage>True</CmdLineInMemoryStorage> - 这在过去提高了性能。

还有什么其他方法可以改善具有这么多 proc 的项目的构建/发布时间吗?

更新:旧版 Procs

虽然 DA 系统是“旧版”,但仍在积极使用中。因此,过程可能会发生变化,并且有开发人员正在创建新的过程。

【问题讨论】:

【参考方案1】:

您是否考虑过使用数据库引用对已存储在 dacpac 中的那些遗留项目进行部分项目?您可以将该数据库称为“相同的数据库,相同的服务器”,因为它的位置,然后只处理您需要在项目中管理的新事物。这似乎可以完成您想要的,而无需重新构建静态项目。

【讨论】:

不幸的是,DA 是“旧版”。它仍在积极使用中,因此当表更改时会更新 procs。他们偶尔也会创建新的过程。我的问题不清楚,让我更新一下。否则,这可能效果很好。 我仍然认为您可能会从将其拆分为两个项目中受益。除非您引用那些新的/更改的过程,否则您不一定需要担心它们作为发布周期的一部分,并且您始终可以为遗留对象创建一个一次性项目来维护它并根据需要构建它.

以上是关于优化构建时间的主要内容,如果未能解决你的问题,请参考以下文章

webpack构建速度优化

webpack构建速度优化

优化与未优化构建的 KCachegrind 输出

优化构建时间

在 Android Studio 中优化构建时间的技巧?

记一次 webpack 构建时间优化