WooCommerce: потребность в таблицах пользовательских заказов
Опубликовано: 2022-06-22
Масштабирование магазинов WooCommerce при одновременном обеспечении оптимальной производительности и выводе магазина из стадии подготовки при сохранении всех заказов и клиентов — это серьезные проблемы, с которыми магазины сталкиваются даже сегодня.
Каждый раз, когда потребитель размещает заказ в магазине WooCommerce, он добавляет десятки данных о заказе и записей в таблицу базы данных postmeta WordPress, что создает серьезную проблему для магазинов, обрабатывающих огромные объемы заказов, и в конечном итоге приводит к снижению производительности.
Следовательно, WooCommerce за эти годы получил несколько запросов на решение этой проблемы и создание отдельных и настраиваемых таблиц для каждого объекта WooCommerce, не затрагивая сайт и существующие расширения.
И, наконец, WooCommerce сейчас работает над реализацией пользовательских таблиц заказов, чтобы решить проблемы с узкими местами и обеспечить большую стабильность магазина.
В этой статье мы познакомим вас с пользовательскими таблицами заказов WooCommerce — что это такое, новые таблицы, добавленные в структуру, и как они могут принести пользу вашему магазину WooCommerce. Давайте начнем!
До таблиц пользовательских заказов WooCommerce
По мере роста магазинов электронной коммерции им необходимо хранить больше данных и информации о клиентах в своих базах данных, что было серьезной проблемой при запуске WooCommerce. И изначально WooCommerce никогда не предназначался для хранения или обработки такого огромного объема данных.
Ситуация изменилась, когда WooCommerce представила новую версию WooCommerce 3.0 и призвала разработчиков использовать объекты CRUD . CRUD расшифровывается как Create Retrieve Update и Delete — общие операции с базой данных для данных. Это открыло множество возможностей для разработчиков, включая абстрагирование данных от его реализации и предоставление абстракции над прямым доступом к базе данных.
Скорее всего, вы по-прежнему будете использовать структуры таблиц базы данных wp_post и wp_postmeta для хранения различных данных, включая заказы, купоны и продукты; однако проблема начинается, когда пришло время масштабировать ваш магазин WooCommerce, и вы получаете сотни заказов клиентов в день.
Каждый размещенный заказ вызывает update_post_meta() , что означает каждый раз отдельные запросы для вставки данных без решения для массовой вставки для метаданных поста. Вот тут-то и появляется идея пользовательских таблиц .
Вы можете переместить данные из postmeta в пользовательские таблицы, что значительно сократит общее количество запросов на вставку заказа на 80% — таким образом, сведя к минимуму узкое место в объеме заказа.
Давайте узнаем больше о функциях и о том, что нового в таблицах пользовательских заказов WooCommerce.
Что нового в таблицах пользовательских заказов WooCommerce?
Пользовательские таблицы заказов — это решение, которое обеспечивает простую для понимания и надежную структуру базы данных, специально разработанную для нужд электронной коммерции. Он использует дизайн WooCommerce CRUD для хранения данных о заказах в одной плоской таблице, оптимизированной для запросов WooCommerce с минимальным влиянием на производительность магазина.
Добавление пользовательских таблиц заказов в ядро WooCommerce улучшает эти три основных свойства магазинов электронной коммерции.
- Масштабируемость
Как обсуждалось ранее, рост числа клиентов и заказов клиентов увеличивает нагрузку на базу данных вашего магазина, что делает неэффективной обработку запросов клиентов на заказы и обеспечение качественного взаимодействия с пользователем. Кроме того, управление одной базой данных с тысячами строк представляло серьезную проблему.
С пользовательскими таблицами заказов WooCommerce вы получаете выделенные таблицы для данных, таких как заказы и адреса заказов, и, следовательно, выделенные индексы, меньше операций чтения/записи и меньше занятых таблиц. Эта функция позволяет магазинам электронной коммерции всех форм и размеров максимально масштабировать свой бизнес без вмешательства специалистов.
- Надежность
Индивидуальная таблица заказов WooCommerce упростит реализацию и восстановление целевого резервного копирования данных. Вам больше не нужно беспокоиться о потере заказов, инвентарных номеров или информации о клиентах благодаря надежному резервному копированию в таблицах пользовательских заказов.
Кроме того, это также облегчит реализацию блокировок чтения/записи и предотвратит состояние гонки. Более того, WooCommerce останется нетронутой, если вы захотите восстановить WP.
- Простота
Вам больше не нужно просматривать одну огромную базу данных, чтобы найти базовые данные и записи WooCommerce.
Вместо этого вы можете легко просматривать отдельные таблицы и простые в обращении записи, независимые от постов WP, чтобы находить данные или понимать структуру таблицы. Это также позволяет вам легко разрабатывать новые плагины, реализовывать дизайн для магазинов и продуктов и модифицировать WooCommerce с большим изяществом.
Обратная совместимость
Во время развертывания WooCommerce стремится предоставлять пользовательские таблицы заказов WooCommerce в качестве дополнительной функции вместо обновления по умолчанию.
Эта обратная совместимость даст существующим магазинам электронной коммерции достаточно времени для работы с WooCommerce, принятия новой структуры базы данных и обеспечения совместимости своих магазинов с новой функцией.
Таким образом, прежде чем ваши разработчики смогут в полной мере воспользоваться преимуществами табличной структуры, им будет предоставлено достаточно времени, чтобы обойти эту функцию. WooCommerce также планирует публиковать регулярные руководства по обновлению для поддержки внедрения пользовательских таблиц заказов.

Требования к таблицам пользовательских заказов WooCommerce
Вот основные требования для использования пользовательских таблиц заказов WooCommerce:
- У вас должна быть версия WooCommerce 3.5.1 или новее.
- У вас также должна быть возможность запускать команды WP-CLI в вашей среде WooCommerce, если вы хотите перенести существующие данные заказа.
Эта команда будет иметь решающее значение при переносе данных заказа из метаданных поста в новые таблицы заказов.
Общая структура таблиц пользовательских заказов WooCommerce
Теперь, когда мы увидели, как пользовательские таблицы заказов могут принести пользу вашему магазину электронной коммерции, давайте посмотрим на структуру таблицы и на то, что отличается от новой структуры.
Вот новые таблицы, которые вы можете увидеть в общей структуре таблиц для заказов.
- Основные таблицы: как следует из названия, основные таблицы будут хранить основные определенные свойства заказа WooCommerce. Эти свойства включают в себя большинство полей метатаблицы и полей из таблицы сообщений.
WooCommerce считает эту группу таблиц главной целью проекта пользовательских таблиц заказов и стремится перенести данные в основные таблицы.
- Мета-таблица: Мета-таблица действует как хранилище для любых одноразовых значений, связанных с заказом. Вы также можете использовать эту таблицу в качестве запасного места для переноса метаданных, которые не являются частью базовой модели заказа.
- Дополнительные таблицы плагинов: в настоящее время не существует стандартного решения для хранения данных и информации плагинов, и некоторые плагины в конечном итоге хранят данные в таблицах сообщений. Новая структура таблицы заказов предлагает решение для плагинов WooCommerce, которым требуется хранить частые данные для каждого заказа и доставки.
Хотя это не является обязательным требованием, это идеальное решение, если в вашем магазине используется несколько плагинов, чтобы обеспечить надежную работу магазина и время безотказной работы во время пикового трафика. WooCommerce также планирует создать полезные инструменты и руководства, чтобы упростить создание и перенос данных в эти таблицы.
Вот предлагаемая структура таблицы для данных заказа:
Вот список новых таблиц , которые являются частью метаданных и основных таблиц, с их назначением:
- wp_wc_orders: эта таблица содержит большинство текущих основных полей и важных мета-ключей.
- wp_wc_order_addresses: в этой таблице будут храниться адреса, связанные с заказами, включая адреса доставки и выставления счетов.
- wp_wc_order_operational_data: WooCommerce будет использовать эту таблицу для хранения флагов и полей, которые они используют для поддержания внутренней структуры заказа. Они будут держать это поле отдельно от основной таблицы заказов из-за более частых изменений в этих полях.
- wp_wc_order_meta: эта таблица будет функционировать аналогично таблице wp_postmeta ; однако это также позволит расширениям хранить одноразовые данные, связанные с заказами.
- wp_wc_order_notes, wp_wc_order_notes_meta: ранее wp_comments и wp_commentmeta сохраняли примечания к заказу. Но эти новые таблицы теперь будут обрабатывать и хранить примечания к заказу.
Таким образом, WooCommerce поощряет магазины электронной коммерции, которые используют множество плагинов и хранят огромные объемы данных в метатаблице сообщений, использовать это обновление и использовать специальные настраиваемые таблицы.
Кроме того, он также призывает разработчиков не использовать wp_wc_orders_meta для общих значений, связанных с заказами, поскольку это лучшее решение для резервного копирования для хранения данных расширения, которые еще не были перенесены.
Вы также можете просмотреть структуру отдельной новой таблицы здесь.
Часто задаваемые вопросы: таблицы пользовательских заказов WooCommerce
Здесь мы отвечаем на некоторые часто задаваемые вопросы о таблицах пользовательских заказов WooCommerce.
- Когда будет выпущена функция пользовательских столов заказов?
Команда разработчиков WooCommerce стремится завершить и выпустить первоначальную реализацию функции к третьему кварталу 2022 года. В настоящее время команда отслеживает проект на GitHub.
- Какой будет структура таблицы?
Вот предлагаемый дизайн структуры таблицы для данных заказа командой WooCommerce.
- Помогает ли это также включать больше структур электронной почты?
Да, с увеличением длины поля электронной почты со 100 до 320 — вы можете разместить большую часть структур электронной почты.
- Смогу ли я хранить поля, которые раньше не мог?
Да, эта функция также удаляет поля, требующие вычисления и ранее не сохранявшиеся, такие как product_tax_amount и product_total_amount.
Вывод
Таблицы пользовательских заказов WooCommerce будут играть важную роль в масштабировании крупных магазинов электронной коммерции и решении самой важной проблемы с производительностью: большого объема заказов.
Хотя проект все еще находится в стадии реализации и должен быть выпущен в третьем квартале 2022 года, вы можете следить за проектом на официальной доске проектов GitHub.
Вы также можете ожидать регулярных обновлений, заметок о разработке и объявлений в этом блоге по мере продвижения реализации, и WooCommerce делает обновления доступными.