chore(db): create indices for frequent filter conditions
Indices are automatically created for all primary keys and all unique columns, but for frequent filter conditions that are not unique and which yield a small result set, and index speeds up computation.
This commit is contained in:
parent
7e756985ce
commit
52bb1db947
@ -113,7 +113,7 @@ derivePersistFieldPathPiece ''ManualMigration
|
||||
|
||||
migrateManual :: Migration
|
||||
migrateManual = do
|
||||
mapM_ (uncurry addIndex)
|
||||
mapM_ (uncurry addIndex) -- NOTE: Indices are automatically created for primary keys and unique columns; manually create them frequent filter conditions that small results for speed up
|
||||
[ ("material_file_content", "CREATE INDEX material_file_content ON material_file (content)" )
|
||||
, ("course_news_file_content", "CREATE INDEX course_news_file_content ON course_news_file (content)" )
|
||||
, ("sheet_file_content", "CREATE INDEX sheet_file_content ON sheet_file (content)" )
|
||||
@ -132,7 +132,12 @@ migrateManual = do
|
||||
, ("study_features_relevance_cached", "CREATE INDEX study_features_relevance_cached ON \"study_features\" (relevance_cached)")
|
||||
, ("submission_rating_by", "CREATE INDEX submission_rating_by ON submission (rating_by) WHERE rating_by IS NOT NULL" )
|
||||
, ("exam_corrector_user", "CREATE INDEX exam_corrector_user ON exam_corrector (\"user\")" )
|
||||
, ("submission_rating_time", "CREATE INDEX submission_rating_time ON submission (rating_time)" )
|
||||
, ("submission_rating_time", "CREATE INDEX submission_rating_time ON submission (rating_time)" )
|
||||
, ("qualification_user_block_quser" , "CREATE INDEX qualification_user_block_quser ON qualification_user_block (qualification_user)")
|
||||
, ("qualification_user_block_unblock", "CREATE INDEX qualification_user_block_unblock ON qualification_user_block (unblock)")
|
||||
, ("qualification_user_block_from" , "CREATE INDEX qualification_user_block_unblock ON qualification_user_block (from)")
|
||||
, ("print_job_apc_ident" , "CREATE INDEX print_job_apc_ident ON print_job (apc_ident)")
|
||||
, ("user_avs_card_person_id" , "CREATE INDEX user_avs_card_person_id ON user_avs_card (person_id)")
|
||||
]
|
||||
where
|
||||
addIndex :: Text -> Sql -> Migration
|
||||
|
||||
Loading…
Reference in New Issue
Block a user