PERF: add missing index for akismet

Note, current practice if for plugins to submit PRs to core for any
migrations required for plugins, so we can better control schema.

Especially if core tables are being touched.

In this case index has close to zero cost unless akismet is installed

This reduces the akismet admin query from 20ms on every new page load to 0.5ms
This commit is contained in:
Sam 2018-03-27 17:36:13 +11:00
parent 68ae009f98
commit 6c70925c6f
1 changed files with 12 additions and 0 deletions

View File

@ -0,0 +1,12 @@
# This is our current pattern for data migrations needed by plugins, we prefer to keep them in core
# so schema is tightly controlled, especially if we are amending tables owned by core
#
# this index makes looking up posts requiring review much faster (20ms on meta)
class AddPostCustomFieldsAkismetIndex < ActiveRecord::Migration[5.1]
def change
add_index :post_custom_fields, [:post_id],
name: 'idx_post_custom_fields_akismet',
where: "name = 'AKISMET_STATE' AND value = 'needs_review'"
end
end