theme.rb 파일에는 ChildTheme.where(parent_theme_id: theme_id).distinct.pluck(:child_theme_id)가 있으며, discourse/db/migrate/20170313192741_add_themes.rb에서 추가된 고유 인덱스(add_index :child_themes, [:parent_theme_id, :child_theme_id], unique: true) 덕분에 distinct를 제거할 수 있습니다.
이는 두 개의 자식 테마, 즉 ChildTheme1(id1, child_theme_id1, parent_theme_id)와 ChildTheme2(id2, child_theme_id2, parent_theme_id)에 대해 child_theme_id1 == child_theme_id2인 경우, id1 = id2가 되어야 한다는 것을 의미합니다. 그렇지 않으면 [:parent_theme_id, :child_theme_id]가 유일하지 않게 됩니다. 따라서 ChildTheme.where(parent_theme_id: theme_id).pluck(:child_theme_id)는 고유한 child_theme_id 값을 반환하므로 distinct 함수 호출이 불필요합니다. 이를 제거하면 성능을 향상시킬 수 있습니다.