Association Storage Migration Time
Introduction
Mendix allows you to change association storage type for many-to-one and one-to-one associations and switch between Association Tables (legacy option) or Direct Associations (recommended option). Changing the association storage type in an already deployed app leads to data synchronization which can take significant time depending on the amount of data in the database.
This page contains timings for an example association storage migration that can help you estimate data migration time for your app.
Scenarios
We performed association storage type migration for associations in the domain model shown below:
This domain model was used to measure migration time for the following cases:
- Many-to-one association: Each of N objects of entity
Many
is associated to one of 10 objects of entityToOne
- One-to-one association: Each of N objects of entity
One
is associated to one of N objects of entityToOne
- 10 many-to-one associations in one entity: Each of N objects of entity
Multiple
has 10 associations to objects of entitiesTarget01
toTarget10
. This means that there are 10*N associations being migrated.
For every database vendor, we ran migrations for 3 different values of N. For each such configuration, we executed the migration 10 times and measured the average migration time over those 10 runs.
Measurements
All the time measurements are in seconds (s).
PostgreSQL
Associations per table (N) | Many to one | One to one | Many to one, 10 associations in one entity |
---|---|---|---|
20K | 0.176 s | 0.194 s | 1.08 s |
1M | 8.3 s | 9.2 s | 38.1 s |
20M | 199 s | 222 s | 850 s |
SQL Server
Associations per table (N) | Many to one | One to one | Many to one, 10 associations in one entity |
---|---|---|---|
20K | 0.177 s | 0.177 s | 0.94 s |
1M | 8.3 s | 8 s | 42 s |
20M | 183 s | 184 s | 1013 s |
MySQL
Associations per table (N) | Many to one | One to one | Many to one, 10 associations in one entity |
---|---|---|---|
20K | 0.568 s | 0.567 s | 6.492 s |
1M | 19.9 s | 22.8 s | 295.1 s |
20M | 473 s | 605 s | 7318 s |
SAP HANA
Associations per table (N) | Many to one | One to one | Many to one, 10 associations in one entity |
---|---|---|---|
20K | 0.132 s | 0.148 s | 1.17 s |
1M | 3.2 s | 3 s | 18.9 s |
20M | 23.1 s | 27.9 s | 184.7 s |