Drupal custom fields do not add indexes to field values by default. This will cause a problem. When you expose this field as a search field in views, the execution will scan the entire table. The performance will be very slow.

You can use the following to test

EXPLAIN SELECT * FROM `node__body` WHERE body_value LIKE "hello"

You can see that the number of rows is the total number. This is because MySQL will perform a full table scan for non-indexed table searches.

Features

Index Support

  1. text
  2. text_long
  3. text_with_summary
  4. string
  5. string_long

How to use

  1. go to /admin/structure/types/manage/yourtypes/fields
  2. edit field and chose Add Index
  3. save and run drush entity-updates (https://www.drupal.org/project/devel_entity_updates)

Project information

Releases