Skip to content
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

feat: optimize identity-related secondary indices #4182

Merged
merged 4 commits into from
Oct 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
CREATE INDEX IF NOT EXISTS identities_id_nid_idx ON identities (id ASC, nid ASC);

CREATE INDEX IF NOT EXISTS identity_recovery_addresses_status_via_idx ON identity_recovery_addresses (nid ASC, via ASC, value ASC);
CREATE INDEX IF NOT EXISTS identity_recovery_addresses_nid_identity_id_idx ON identity_recovery_addresses (identity_id ASC, nid ASC);
CREATE INDEX IF NOT EXISTS identity_recovery_addresses_nid_id_idx ON identity_recovery_addresses (nid ASC, id ASC);
CREATE INDEX IF NOT EXISTS identity_recovery_addresses_id_nid_idx ON identity_recovery_addresses (id ASC, nid ASC);
DROP INDEX IF EXISTS identity_recovery_addresses_identity_id_idx;

CREATE INDEX IF NOT EXISTS identity_verifiable_addresses_status_via_idx ON identity_verifiable_addresses (nid ASC, via ASC, value ASC);
CREATE INDEX IF NOT EXISTS identity_verifiable_addresses_nid_identity_id_idx ON identity_verifiable_addresses (identity_id ASC, nid ASC);
CREATE INDEX IF NOT EXISTS identity_verifiable_addresses_nid_id_idx ON identity_verifiable_addresses (nid ASC, id ASC);
CREATE INDEX IF NOT EXISTS identity_verifiable_addresses_id_nid_idx ON identity_verifiable_addresses (id ASC, nid ASC);
DROP INDEX IF EXISTS identity_verifiable_addresses_identity_id_idx;
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
CREATE INDEX identities_id_nid_idx ON identities (id ASC, nid ASC);

CREATE INDEX identity_recovery_addresses_status_via_idx ON identity_recovery_addresses (nid ASC, via ASC, value ASC);
-- While this index did not exist in the past, it is needed in MySQL for foreign key relations. We accept
-- that this index is "unaccounted" for if we execute down and then up migrations on MySQL.
CREATE INDEX identity_recovery_addresses_identity_id_fk_idx ON identity_recovery_addresses (identity_id ASC);
CREATE INDEX identity_recovery_addresses_nid_id_idx ON identity_recovery_addresses (nid ASC, id ASC);
CREATE INDEX identity_recovery_addresses_id_nid_idx ON identity_recovery_addresses (id ASC, nid ASC);
DROP INDEX identity_recovery_addresses_identity_id_idx ON identity_recovery_addresses;

CREATE INDEX identity_verifiable_addresses_status_via_idx ON identity_verifiable_addresses (nid ASC, via ASC, value ASC);
-- While this index did not exist in the past, it is needed in MySQL for foreign key relations. We accept
-- that this index is "unaccounted" for if we execute down and then up migrations on MySQL.
CREATE INDEX identity_verifiable_addresses_identity_id_fk_idx ON identity_verifiable_addresses (identity_id ASC);
CREATE INDEX identity_verifiable_addresses_nid_id_idx ON identity_verifiable_addresses (nid ASC, id ASC);
CREATE INDEX identity_verifiable_addresses_id_nid_idx ON identity_verifiable_addresses (id ASC, nid ASC);
DROP INDEX identity_verifiable_addresses_identity_id_idx ON identity_verifiable_addresses;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
DROP INDEX identities_id_nid_idx ON identities;

CREATE INDEX identity_recovery_addresses_identity_id_idx ON identity_recovery_addresses (identity_id ASC);
DROP INDEX identity_recovery_addresses_status_via_idx ON identity_recovery_addresses;
-- DROP INDEX identity_recovery_addresses_nid_identity_id_idx ON identity_recovery_addresses;
DROP INDEX identity_recovery_addresses_nid_id_idx ON identity_recovery_addresses;
DROP INDEX identity_recovery_addresses_id_nid_idx ON identity_recovery_addresses;

CREATE INDEX identity_verifiable_addresses_identity_id_idx ON identity_verifiable_addresses (identity_id ASC);
DROP INDEX identity_verifiable_addresses_status_via_idx ON identity_verifiable_addresses;
-- DROP INDEX identity_verifiable_addresses_nid_identity_id_idx ON identity_verifiable_addresses;
DROP INDEX identity_verifiable_addresses_nid_id_idx ON identity_verifiable_addresses;
DROP INDEX identity_verifiable_addresses_id_nid_idx ON identity_verifiable_addresses;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
DROP INDEX IF EXISTS identities_id_nid_idx;

CREATE INDEX IF NOT EXISTS identity_recovery_addresses_identity_id_idx ON identity_recovery_addresses(identity_id ASC);
DROP INDEX IF EXISTS identity_recovery_addresses_status_via_idx;
DROP INDEX IF EXISTS identity_recovery_addresses_nid_identity_id_idx;
DROP INDEX IF EXISTS identity_recovery_addresses_nid_id_idx;
DROP INDEX IF EXISTS identity_recovery_addresses_id_nid_idx;

CREATE INDEX IF NOT EXISTS identity_verifiable_addresses_identity_id_idx ON identity_verifiable_addresses (identity_id ASC);
DROP INDEX IF EXISTS identity_verifiable_addresses_status_via_idx;
DROP INDEX IF EXISTS identity_verifiable_addresses_nid_identity_id_idx;
DROP INDEX IF EXISTS identity_verifiable_addresses_nid_id_idx;
DROP INDEX IF EXISTS identity_verifiable_addresses_id_nid_idx;
Loading