Одним из самых узких мест в WooCommerce по производительности является хранение товаров и заказов в стандартной таблице записей WordPress.
Благодаря тому, что WooCommerce с версии 3.0 добавили встроенный функционал Data Stores и CRUD, появилась простая возможность переносить хранилище данных в произвольные таблицы.
Плагин WooCommerce Custom Product Tables позволяет в один клик перенести хранилище товаров, атрибутов, изображений, их связей и настроек в произвольные таблицы с правильной структурой и индексами.
Производительность
Перенос товаров в произвольные таблицы по результатам тестирования даёт 30% прирост производительности.
Замеры производились на идентичных инсталляциях (500 товаров, тема Storefront, 70000 заказов и 1.4 млн строк метаданных), но с одним отличием: на второй инсталляции был установлен плагин WooCommerce Custom Product Tables.
Для простого создания огромного количества товаров и заказов был использован плагин WooCommerce Smooth Generator.
Результаты замеров приведены на графике ниже и они потрясающе.
Установка плагина
Для установки плагина вам потребуется:
- Скачать последнюю версию плагина Custom Products Table.
- Скачать и установить WooCommerce 3.5 Dev или выше.
- Скачать и установить WP-CLI для запуска процесса миграции товаров в новое хранилище.
Так как плагин пока находится на стадии разработки, не рекомендуется его устанавливать на продуктовых серверах.
Миграция
Для запуска процесса миграции данных в плагине предусмотрено две WP-CLI команды.
wp wc-product-tables migrate-data [--clean-old-data]
Эта команда перенесёт данные из текущих таблиц WordPress в новое хранилище.
Если передать дополнительный параметр --clean-old-data
, то все данные по товарам, которые хранятся в стандартных таблицах WordPress, будут уничтожены безвозвратно.
wp wc-product-tables recreate-tables
Эта команда удалит все свежесозданные таблицы и данные о товарах в них, а затем создаст новые чистые таблицы.
Любые новые товары, созданные после активации плагина, будут созданы в новых таблицах и не будут доступны при деактивации плагина.
Таблицы
После установки и активации плагина будут созданы несколько новых таблиц в базе данных для хранения информации о товарах.
- wc_products – содержит информацию о товарах, исключая большую часть метаданных.
- wc_product_attributes – содержит информацию об атрибутах товаров и их настройки.
- wc_product_attribute_values – содержит информацию о значениях атрибутов товаров и их настройки.
- wc_product_downloads – содержит информацию о скачиваемых товарах и их настройки.
- wc_product_relationships – содержит информацию о связях между товаров и их объектов, например, изображений.
- wc_product_variation_attribute_values – содержит информацию о данных вариаций для товаров.
В настоящее время эти таблицы охватывают все аспекты товаров, в том числе настройки товаров, атрибуты, вариации, скачиваемые товары, а также другие взаимосвязи, такие как апселлы, кросселлы, сгруппированные товары и изображения.
Ссылки
Источник: https://www.kobzarev.com/wordpress/woocommerce-custom-product-tables/
Полезная информация, спасибо