mirror of
https://github.com/discourse/discourse.git
synced 2026-08-13 06:25:11 -05:00
PERF: correctly index event dates (#34877)
This commit is contained in:
@@ -69,6 +69,7 @@ end
|
|||||||
# Indexes
|
# Indexes
|
||||||
#
|
#
|
||||||
# idx_discourse_calendar_post_event_dates_event_id_starts_at_uniq (event_id,starts_at) UNIQUE
|
# idx_discourse_calendar_post_event_dates_event_id_starts_at_uniq (event_id,starts_at) UNIQUE
|
||||||
|
# index_discourse_calendar_post_event_dates_on_event_id_and_dates (event_id,finished_at DESC,starts_at DESC)
|
||||||
# index_discourse_calendar_post_event_dates_on_event_id (event_id)
|
# index_discourse_calendar_post_event_dates_on_event_id (event_id)
|
||||||
# index_discourse_calendar_post_event_dates_on_finished_at (finished_at)
|
# index_discourse_calendar_post_event_dates_on_finished_at (finished_at)
|
||||||
#
|
#
|
||||||
|
|||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class AddDistinctOnOptimizationIndexToEventDates < ActiveRecord::Migration[8.0]
|
||||||
|
def change
|
||||||
|
add_index :discourse_calendar_post_event_dates,
|
||||||
|
%i[event_id finished_at starts_at],
|
||||||
|
name: "index_discourse_calendar_post_event_dates_on_event_id_and_dates",
|
||||||
|
order: {
|
||||||
|
finished_at: :desc,
|
||||||
|
starts_at: :desc,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -23,7 +23,6 @@ module DiscoursePostEvent
|
|||||||
DiscoursePostEvent::Event
|
DiscoursePostEvent::Event
|
||||||
.visible
|
.visible
|
||||||
.open
|
.open
|
||||||
.includes(:event_dates, :post, post: :topic)
|
|
||||||
.joins(post: :topic)
|
.joins(post: :topic)
|
||||||
.merge(Post.secured(guardian))
|
.merge(Post.secured(guardian))
|
||||||
.merge(topics.or(pms))
|
.merge(topics.or(pms))
|
||||||
|
|||||||
Reference in New Issue
Block a user