PERF: Add index to speed up ReindexSearch job (#20151)

This commit is contained in:
Daniel Waterworth 2023-02-21 12:16:43 -06:00 committed by GitHub
parent 692e843832
commit b96a23978a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 12 deletions

View File

@ -1290,6 +1290,7 @@ end
# idx_posts_user_id_deleted_at (user_id) WHERE (deleted_at IS NULL)
# index_for_rebake_old (id) WHERE (((baked_version IS NULL) OR (baked_version < 2)) AND (deleted_at IS NULL))
# index_posts_on_id_and_baked_version (id DESC,baked_version) WHERE (deleted_at IS NULL)
# index_posts_on_id_topic_id_where_not_deleted_or_empty (id,topic_id) WHERE ((deleted_at IS NULL) AND (raw <> ''::text))
# index_posts_on_image_upload_id (image_upload_id)
# index_posts_on_reply_to_post_number (reply_to_post_number)
# index_posts_on_topic_id_and_percent_rank (topic_id,percent_rank)

View File

@ -0,0 +1,21 @@
# frozen_string_literal: true
class AddIndexToPostsWhereNotDeletedOrEmpty < ActiveRecord::Migration[7.0]
disable_ddl_transaction!
def up
execute <<~SQL
DROP INDEX CONCURRENTLY IF EXISTS index_posts_on_id_topic_id_where_not_deleted_or_empty
SQL
execute <<~SQL
CREATE INDEX CONCURRENTLY index_posts_on_id_topic_id_where_not_deleted_or_empty ON posts (id, topic_id) where deleted_at IS NULL AND raw <> ''
SQL
end
def down
execute <<~SQL
DROP INDEX IF EXISTS index_posts_on_id_topic_id_where_not_deleted_or_empty
SQL
end
end