summaryrefslogtreecommitdiff
path: root/db/migrate/20180213131630_add_partial_index_to_projects_for_index_only_scans.rb
Commit message (Collapse)AuthorAgeFilesLines
* Add version 4.2 to all existing migrationsjprovazn-versioned-migrationsJan Provaznik2018-11-221-1/+1
| | | | | | | | | DB schema generated by a migration may look different in rails 4 and 5 (because rails 5 may use different default values). For this reason it's important to explicitly set for which rails version a migration was written for. See https://stackoverflow.com/questions/35929869/activerecordmigration-deprecation-warning-asks-for-rails-version-but-im-no/35930912#35930912
* Simplify down migration.Andreas Brandl2018-02-201-1/+1
|
* Add partial index on projects for index-only scans.Andreas Brandl2018-02-201-0/+21
This helps with queries that get project ids based on the - comparably rare - visibility levels 10 and 20. For these, postgres can now leverage the partial index for a index-only scan to improve performance. Example queries: SELECT id FROM projects WHERE visibility_level IN (10,20) SELECT id FROM projects WHERE visibility_level IN (10) For MySQL, this results in a full index on id because MySQL omits the WHERE clause. That is, the index is a duplicate of the primary key basically.