Added preserves_order flag to SQL mapping table #585
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A long time ago, the
preserves_mapping
attribute was added as performance improvement to enable bulk-id-mappings. Bulk-id-mappings was disabled before as some mappers could not guarantee that the order of incoming ids == order of outgoing ids. Read more about it here: phovea/phovea_server#141This PR sets this flag in the sql-mapping table, as this mapper guarantees a preserved order.
The performance increase is huge when testing with many items, as previously a query was sent to the database for every single id. As a test with human genes, ~60k queries were sent... Now, a single query with a large where is sent instead.
I added a comment to the line which ensures a preserved order.