From 039c8db13c8ed0dac50ded6dfb7ae478a4ff7ba1 Mon Sep 17 00:00:00 2001 From: Emin Kocan Date: Fri, 7 Mar 2025 05:07:54 +0100 Subject: [PATCH] add note table user_id, created_at index for non-anonymus notes --- app/models/note.rb | 9 +++++---- .../20250304172798_add_notes_user_id_created_at_index.rb | 9 +++++++++ db/structure.sql | 9 +++++++++ 3 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 db/migrate/20250304172798_add_notes_user_id_created_at_index.rb diff --git a/app/models/note.rb b/app/models/note.rb index 068efa59a..6a83b6b01 100644 --- a/app/models/note.rb +++ b/app/models/note.rb @@ -16,10 +16,11 @@ # # Indexes # -# index_notes_on_description (to_tsvector('english'::regconfig, description)) USING gin -# notes_created_at_idx (created_at) -# notes_tile_status_idx (tile,status) -# notes_updated_at_idx (updated_at) +# index_notes_on_description (to_tsvector('english'::regconfig, description)) USING gin +# index_notes_on_user_id_and_created_at (user_id,created_at) WHERE (user_id IS NOT NULL) +# notes_created_at_idx (created_at) +# notes_tile_status_idx (tile,status) +# notes_updated_at_idx (updated_at) # # Foreign Keys # diff --git a/db/migrate/20250304172798_add_notes_user_id_created_at_index.rb b/db/migrate/20250304172798_add_notes_user_id_created_at_index.rb new file mode 100644 index 000000000..52ee20f1d --- /dev/null +++ b/db/migrate/20250304172798_add_notes_user_id_created_at_index.rb @@ -0,0 +1,9 @@ +class AddNotesUserIdCreatedAtIndex < ActiveRecord::Migration[7.2] + disable_ddl_transaction! + + def change + add_index :notes, [:user_id, :created_at], + :algorithm => :concurrently, + :where => "user_id IS NOT NULL" + end +end diff --git a/db/structure.sql b/db/structure.sql index 7f44938b3..9d3af4d00 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -9,6 +9,7 @@ SET xmloption = content; SET client_min_messages = warning; SET row_security = off; + -- -- Name: btree_gist; Type: EXTENSION; Schema: -; Owner: - -- @@ -2554,6 +2555,13 @@ CREATE INDEX index_note_subscriptions_on_note_id ON public.note_subscriptions US CREATE INDEX index_notes_on_description ON public.notes USING gin (to_tsvector('english'::regconfig, description)); +-- +-- Name: index_notes_on_user_id_and_created_at; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX index_notes_on_user_id_and_created_at ON public.notes USING btree (user_id, created_at) WHERE (user_id IS NOT NULL); + + -- -- Name: index_oauth_access_grants_on_application_id; Type: INDEX; Schema: public; Owner: - -- @@ -3436,6 +3444,7 @@ INSERT INTO "schema_migrations" (version) VALUES ('23'), ('22'), ('21'), +('20250304172798'), ('20250304172758'), ('20250212160355'), ('20250206202905'), -- 2.39.5