From: Tom Hughes Date: Tue, 21 Jan 2025 19:21:17 +0000 (+0000) Subject: Add indexes on user+id to changeset and diary comments X-Git-Tag: live~260^2 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/ebe7cf8d171f57f5aa3810141217e9d83873c28c?ds=inline;hp=-c Add indexes on user+id to changeset and diary comments --- ebe7cf8d171f57f5aa3810141217e9d83873c28c diff --git a/app/models/changeset_comment.rb b/app/models/changeset_comment.rb index 22d158e82..d825c9ed5 100644 --- a/app/models/changeset_comment.rb +++ b/app/models/changeset_comment.rb @@ -12,6 +12,7 @@ # Indexes # # index_changeset_comments_on_author_id_and_created_at (author_id,created_at) +# index_changeset_comments_on_author_id_and_id (author_id,id) # index_changeset_comments_on_changeset_id_and_created_at (changeset_id,created_at) # index_changeset_comments_on_created_at (created_at) # diff --git a/app/models/diary_comment.rb b/app/models/diary_comment.rb index a88c69f12..ad23c9f65 100644 --- a/app/models/diary_comment.rb +++ b/app/models/diary_comment.rb @@ -15,6 +15,7 @@ # # diary_comment_user_id_created_at_index (user_id,created_at) # diary_comments_entry_id_idx (diary_entry_id,id) UNIQUE +# index_diary_comments_on_user_id_and_id (user_id,id) # # Foreign Keys # diff --git a/db/migrate/20250121191749_add_user_comment_indexes.rb b/db/migrate/20250121191749_add_user_comment_indexes.rb new file mode 100644 index 000000000..10af4e455 --- /dev/null +++ b/db/migrate/20250121191749_add_user_comment_indexes.rb @@ -0,0 +1,8 @@ +class AddUserCommentIndexes < ActiveRecord::Migration[7.2] + disable_ddl_transaction! + + def change + add_index :changeset_comments, [:author_id, :id], :algorithm => :concurrently + add_index :diary_comments, [:user_id, :id], :algorithm => :concurrently + end +end diff --git a/db/structure.sql b/db/structure.sql index 04b0dc17f..9093c47fe 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -2400,6 +2400,13 @@ CREATE UNIQUE INDEX index_active_storage_variant_records_uniqueness ON public.ac CREATE INDEX index_changeset_comments_on_author_id_and_created_at ON public.changeset_comments USING btree (author_id, created_at); +-- +-- Name: index_changeset_comments_on_author_id_and_id; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX index_changeset_comments_on_author_id_and_id ON public.changeset_comments USING btree (author_id, id); + + -- -- Name: index_changeset_comments_on_changeset_id_and_created_at; Type: INDEX; Schema: public; Owner: - -- @@ -2435,6 +2442,13 @@ CREATE INDEX index_changesets_subscribers_on_changeset_id ON public.changesets_s CREATE UNIQUE INDEX index_changesets_subscribers_on_subscriber_id_and_changeset_id ON public.changesets_subscribers USING btree (subscriber_id, changeset_id); +-- +-- Name: index_diary_comments_on_user_id_and_id; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX index_diary_comments_on_user_id_and_id ON public.diary_comments USING btree (user_id, id); + + -- -- Name: index_diary_entry_subscriptions_on_diary_entry_id; Type: INDEX; Schema: public; Owner: - -- @@ -3408,6 +3422,7 @@ INSERT INTO "schema_migrations" (version) VALUES ('23'), ('22'), ('21'), +('20250121191749'), ('20250105154621'), ('20250104140952'), ('20241023004427'),