The WooCommerce development team announced back in January that they have started working on an implementation of custom tables for orders.
This long-awaited improvement, promises significant performance gains for stores that are looking to scale.
Adding custom tables for orders is a complex undertaking that will impact the entire WooCommerce ecosystem with a dedicated team behind the new addition.
When working with WooCommerce data, developers have been encouraged to use CRUD objects since they were introduced in version 3.0. A lot of people will remember that release because a lot of things broke. It’s probably the most memorable part of that release, but the reason they broke is because they introduced these CRUD classes. CRUD stands for Create, Read, Update and Delete. And these classes were created to abstract away database access. That was the whole point of putting them in place, so that people could change the data store for the various object types in WooCommerce.
“We still utilize wp_post and wp_postmeta table structures to store this information for WooCommerce stores even with the CRUD layer.”
“While these WordPress-provided APIs and tables have served us well over the years, we now want to take a step further with a rock-solid and easy-to-understand database structure that is intentionally designed for commerce needs.” – WooCommerce core developer Vedanshu Jain
Custom Order Tables is set to improve three main properties for WooCommerce websites:
- Scalability – by having dedicated tables (and therefore dedicated indexes, less busy tables, less read/write ops etc), we aim to enable shops of all sizes to scale further without the need for expert intervention.
- Simplicity – being independent of WP posts should help in finding where underlying data lives, understand its structure and allowing developers to modify WooCommerce with more finesse.
- Reliability – it should be easier to take and restore targeted backups, implement read/write locks and prevent race conditions.
We aim to complete the initial implementation by early Q3 2022.
The WooCommerce development team is tracking the project on GitHub and is aiming to have an initial implementation ready by early Q3 2022. They have published the first draft of the database schema they are proposing for building out the custom tables and feedback is welcome on the post.