Оптимизирует ли WordPress свои таблицы базы данных путем автоматической индексации? - PullRequest
0 голосов
/ 30 июня 2019

Очевидно, что добавление индексации к таблицам Mysql ускоряет доступ.

Создает ли WordPress эту простую оптимизацию, или я должен выполнить ее вручную, или использовать один из многих плагинов оптимизации?

Например: в phpMyadmin все, что вам нужно, это выбрать table optimize для генерации индекса

Ответы [ 3 ]

1 голос
/ 30 июня 2019

Wordpress создает множество индексов, когда создает таблицы для вашей базы данных, в соответствии с тем, что разработчики считают наиболее полезными индексами.

Например, посмотрите в https://github.com/WordPress/WordPress/blob/master/wp-admin/includes/schema.php и посмотрите все KEY s (KEY - синоним INDEX).

Однако может быть больше индексов. Индексы должны быть определены в любой базе данных в соответствии с запросами, которые выполняются наиболее часто или которые должны выполняться наиболее эффективно.

В блоге Percona в 2014 году была опубликована статья, показывающая случай, когда их база данных Wordpress могла использовать дополнительный индекс. В блоге показано, как именно они использовали инструменты анализа производительности для поиска медленных случаев, а затем разработали индекс для решения проблемы производительности.

" Анализ запросов WordPress MySQL с помощью Query Analytics " (percona.com, 2014-01-16)

Тот случай, когда требовался дополнительный индекс, был более или менее специфичен для их использования Wordpress. Цель этого блога состояла не в том, чтобы рассказать людям, какие индексы нужно добавить, а в том, чтобы продемонстрировать метод анализа базы данных, чтобы вы могли найти «горячие точки» производительности.

Подходящие для вас индексы зависят от вашего использования Wordpress.

1 голос
/ 01 июля 2019
  • Использовать ENGINE=InnoDB, а не MyISAM
  • Не используйте OPTIMIZE TABLE с таблицей innodb, это почти никогда не стоит усилий.
  • WP имеет индексы, но не обязательно оптимальные.
  • Для повышения производительности, особенно если ваши запросы включают postmeta, Изменение схемы постмета .
1 голос
/ 30 июня 2019

Нет, WordPress по умолчанию не добавляет индексирование в таблицы mysql.Как вы упомянули, вы можете использовать плагин, такой как WP-Optimize, или оптимизировать с помощью phpMyAdmin:

Чтобы выполнить оптимизацию, войдите в свой phpMyAdmin и выберите базу данных, таблицы которой вы хотите оптимизировать.

Появится список со всеми таблицами базы данных.Отметьте таблицы, которые вы хотите оптимизировать, или просто нажмите [Отметить все], чтобы выбрать все таблицы.

В раскрывающемся меню [С выбранным:] выберите Оптимизировать таблицу.Это выполнит SQL-запрос OPTIMIZE TABLE для выбранных таблиц, и они будут обновлены и оптимизированы.

...