Таблица wp_options
В wp_options
таблице хранится несколько типов данных для вашего сайта, в том числе:
- настройки для ваших плагинов, виджетов и тем
- временно кэшированные данные
- URL-адрес сайта и домашний URL-адрес
- настройки категории
- автоматически загружаемые данные
Примечание
Префикс options
таблицы по умолчанию — wp_
. Префикс options
таблицы может отличаться, если вы используете собственный префикс, например custom_options
.
Проверьте размер ваших автоматически загружаемых данных
Если ваш веб-сайт работает медленно и вы получаете следующее сообщение в статистике базы данных: consider autoloading only necessary options
, выполните следующие действия.
Проверьте размер автоматически загружаемых данных:
- Войдите в свой клиент MySQL .
- Выберите свою базу данных (по умолчанию
pantheon
) и нажмите наSQL
вкладку. - Запустите следующий код, чтобы увидеть общее количество автоматически загружаемых данных и количество данных:
SELECT 'autoloaded data in KiB' as name, ROUND(SUM(LENGTH(option_value))/ 1024) as value FROM wp_options WHERE autoload='yes' UNION SELECT 'autoloaded data count', count(*) FROM wp_options WHERE autoload='yes';
Если ваши автоматически загружаемые данные меньше 1 МБ, маловероятно, что автоматически загружаемые данные замедляют работу вашего сайта. Если ваши данные превышают 1 МБ, у вас автоматически загружается большое количество параметров, и это, скорее всего, замедляет работу вашего сайта.
Проверьте свои самые популярные автоматически загружаемые элементы
- Запустите следующий код, чтобы увидеть самые популярные элементы с автоматически загружаемыми данными:
SELECT option_name, length(option_value) FROM wp_options WHERE autoload='yes' ORDER BY length(option_value) DESC LIMIT 20;
- Запустите следующий код, если вы хотите отключить автозагрузку для элемента:
update_option( 'wp_option', 'value' ); to be update_option('wp_option', 'value', 'no');
Примечание
Вы должны указать no
в третьем параметре, иначе по умолчанию автоматически будет установлено значение yes
.
Советы по минимизации автоматически загружаемых данных
Мы рекомендуем свести к минимуму автоматически загружаемые данные, чтобы повысить производительность вашего сайта. Ниже мы предоставили несколько советов по сокращению автоматически загружаемых данных.
Удалите транзитный кеш
WordPress Кэширует данные в Transients (транзитный кеш) в течение установленного периода времени. Хотя Transients сохраняются только временно, они могут стать чрезмерно большими и замедлить работу вашего сайта.
Запустите следующий код, чтобы очистить временные данные:
SELECT *
FROM `wp_options`
WHERE `autoload` = 'yes'
AND `option_name` LIKE '%transient%'
Избегайте использовать транзитный кеш
Вы можете использовать кэш объектов, чтобы свести к минимуму использование временных данных внутри wp_options
таблицы.
Рекомендации разработчику
Особенностью работы WP является то, что система подгружает все данные, где прописано autoload
= yes. Не имеет значения разбиты эти данные, как отдельные строки таблицы или хранятся в виде serialize или json в одной ячейке.
Я рекомендую использовать json в котором хранить все настройки для вашей темы или плагина.
Преимущества такого хранения данных:
1) При прямом изменении вложенных данных сериализованные данные, которые используются в WP по-умолчанию, могут быть повреждены. Для изменения вложенных данных значение ячейки нужно десериализоввывать, изменить и сериализовать обратно. Что геморно и неприятно.
2) Если хранить данные настроек отдельными строками в БД, то при большом количестве строк нагрузка на БД возрастет.
3) Легче посчитать объем используемых данных настроек
4) Данными в JSON представлении проще оперировать