You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, at my company we use h2 as the database for running our test suite - approximately 9000 tests as of right now.
I've noticed that whilst running the suite, h2 was spending a lot of time in the Optimizer, determining a query plan for query executions. With such small sets of data that's being searched/retrieved during tests, all of this plan optimisation is generally a waste as even a sub-par plan will still retrieve the data quickly.
I tested with a custom build of h2 that allows setting/overriding the Optimizer parameters: OPTIMIZER_MAX_BRUTE_FORCE_FILTERS, OPTIMIZER_MAX_BRUTE_FORCE and OPTIMIZER_MAX_GENETIC via the connection URL. (added to DbSettings).
Setting these values to lower than the default resulted in the test suite running in around half of the original time.
Whilst this might not be recommended for those using h2 to run their application, I would imagine there are plenty of others out there that could benefit from the reduced optimizer overhead in testing situations.
Is this a change that would be considered if I were to make a pull request to add the functionality?
The text was updated successfully, but these errors were encountered:
Hi, at my company we use h2 as the database for running our test suite - approximately 9000 tests as of right now.
I've noticed that whilst running the suite, h2 was spending a lot of time in the Optimizer, determining a query plan for query executions. With such small sets of data that's being searched/retrieved during tests, all of this plan optimisation is generally a waste as even a sub-par plan will still retrieve the data quickly.
I tested with a custom build of h2 that allows setting/overriding the Optimizer parameters: OPTIMIZER_MAX_BRUTE_FORCE_FILTERS, OPTIMIZER_MAX_BRUTE_FORCE and OPTIMIZER_MAX_GENETIC via the connection URL. (added to DbSettings).
Setting these values to lower than the default resulted in the test suite running in around half of the original time.
Whilst this might not be recommended for those using h2 to run their application, I would imagine there are plenty of others out there that could benefit from the reduced optimizer overhead in testing situations.
Is this a change that would be considered if I were to make a pull request to add the functionality?
The text was updated successfully, but these errors were encountered: