I have a liquibase environment with ~60 changelog files containing ~270 individual changes. Also I have 2 databases which I need to update: unit test database and a database with production dump data. At the moment it took ~15-20 seconds to execute simple Ant target updating both databases without any new changes. I’d be happy to reduce it to… say… 5 seconds to almost avoid waiting. I may execute this script very often during the day experimenting with changes.
Is there any way I can decrease this time e.g. by disabling checksum checking for old changes? I could mark some entries in master changelog file to avoid their checking.
If I comment out 40 included changelog files out of 55 it takes 6 seconds - which is what I believe very reasonable. If I uncomment all - it is 15-17 seconds. So the time grows with changesets count.
I haven’t ran liquibase through a profiler for a little while, but last I checked there was no particular hotspots for easy optimization.
One thing that can slow down execution is preconditions that would be firing, either because they are on a changeset that does not run because of them, or changelog-wide preconditions.
Have you noticed it slowing down as changesets have been added? Or has it more continuously slow?