mirror of
https://github.com/discourse/discourse.git
synced 2025-02-21 01:40:40 +08:00

When viewing a topic, we execute two queries to fetch the topic's public topic timer and slow mode timer. The former query happens to be able to use a unique index but the latter has to do a seq scan which is slow. The query itself is not expensive but since viewing a topic is a hot path, the little cuts add up overtime and the query itself contributes significantly to the load of the database.
8 lines
181 B
Ruby
8 lines
181 B
Ruby
# frozen_string_literal: true
|
|
|
|
class AddTopicTimersIndex < ActiveRecord::Migration[7.0]
|
|
def change
|
|
add_index :topic_timers, [:topic_id], where: "deleted_at IS NULL"
|
|
end
|
|
end
|