liquibase - 性能问题是否会随着变更集的增加而出现?
问题描述
我的公司使用 liquibase 来跟踪数据库更改。每天都会添加大约 100 个新的变更集。根据我对已经执行的变更集的理解,liquibase 再次计算校验和,并将其与 databasechangelog 表中的校验和进行比较,以查看校验和是否已更改,如果更改则给出校验和问题。
所以几个月后,当我已经执行了大量的变更集时,如果我添加一个新的变更集,这个计算已经执行的变更集的校验和并比较它们的过程是否会使新变更集的执行速度变慢或导致任何与性能相关的问题?
解决方案
我从来没有偶然发现 liquibase 的这种性能问题。
但我想你的问题引发了更多的问题:
- 你认为什么是“慢”?
- 当性能开始成为问题时,它真的是一个问题吗?
- 也许您的应用程序架构有问题?
无论如何,将校验和与 DATABASECHANGELOG 表进行比较不应该花费很多时间 - 如果您有很多很多 changeSet,可能需要几秒钟。
根据 liquibase 文档:
其他时候,问题是 liquibase 更新耗时太长。在将 DATBASECHANGELOG 表的内容与当前的变更日志文件进行比较时,Liquibase 尝试尽可能高效,即使已经运行了数千个变更集,“更新”命令也应该只需要几秒钟即可运行。
但如果这几秒钟真的有问题,那么请考虑阅读这篇文章: 修剪变更日志文件
推荐阅读
- angular - Angular 6:将子项中的单击事件发送给父项
- php - Zend / PHP / Apache2 - 我运行我的apache服务器时出现问题
- office-js - 将用于获取 Excel 表格数据作为元数据的 API url 存储在哪里?
- apache - 在 drupal root .htaccess 中创建重定向
- regex - 使用emacs中的replace-regexp匹配正则表达式中的符号+和*
- python - 在 df 上运行我的 python 循环并在 df 中打印响应
- fortran - 读取文本文件并创建可迭代列表 fortran 90
- postgresql - 出现错误,无法在 TEMP 环境变量路径中写入
- jquery - 页面不在导航栏中时出现 JQuery 活动类错误
- javascript - 使用带有 ajax 的 select2 并没有在下拉列表中显示数据,即使我也无法选择任何数据