-
Notifications
You must be signed in to change notification settings - Fork 9.4k
replacing btree index with unique index for performance gains #40054
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 2.4-develop
Are you sure you want to change the base?
replacing btree index with unique index for performance gains #40054
Conversation
Hi @jakwinkler. Thank you for your contribution!
Allowed build names are:
You can find more information about the builds here For more details, review the Code Contributions documentation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR replaces a non-unique btree index on catalog_product_entity_media_gallery_value(entity_id, value_id, store_id)
with a unique constraint to improve query performance and enforce data integrity.
- Changed an existing btree index to a unique constraint
- Renamed the index reference to include a
_UNQ
suffix - Ensures duplicate rows on
(entity_id, value_id, store_id)
cannot be inserted
Comments suppressed due to low confidence (3)
app/code/Magento/Catalog/etc/db_schema.xml:887
- [nitpick] Add a brief XML comment above this line explaining why a unique constraint is used (performance benefits and data integrity) so future maintainers understand the change.
<constraint referenceId="CAT_PRD_ENTT_MDA_GLR_VAL_ENTT_ID_VAL_ID_STORE_ID_UNQ" xsi:type="unique">
app/code/Magento/Catalog/etc/db_schema.xml:887
- Add an integration test to verify that inserting a duplicate
(entity_id, value_id, store_id)
row is rejected by this new unique constraint.
<constraint referenceId="CAT_PRD_ENTT_MDA_GLR_VAL_ENTT_ID_VAL_ID_STORE_ID_UNQ" xsi:type="unique">
app/code/Magento/Catalog/etc/db_schema.xml:887
- Consider benchmarking insert/update operations on
catalog_product_entity_media_gallery_value
after this change to ensure write performance remains acceptable.
<constraint referenceId="CAT_PRD_ENTT_MDA_GLR_VAL_ENTT_ID_VAL_ID_STORE_ID_UNQ" xsi:type="unique">
@magento run all tests |
Description (*)
Replacing
btree
index withunique
index for performance gains incatalog_product_entity_media_gallery_value
table. Thanks to that we also assure data integrity.Fixed Issues (if relevant)
Contribution checklist (*)