Liquibase speed


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?


I’ll have to look at it with the profiler. You are running 2.0.3?


2.0.2. Do you think I’ll see any difference with upgrade?