WooCommerce is one of the most popular eCommerce platforms offering the quickest way to build a robust online store. However, as your store grows in size and complexity, you may experience slow performance due to the increasing load on your database. In this article, we will discuss the specifications of the WooCommerce database and valuable tips to improve its performance.
An online store is now a crucial strategic component for every successful business, as reports suggest 79% of customers purchase online at least once a month. And WooCommerce offers the quickest way to build a robust digital shopping platform.
However, ensuring WooCommerce sites provide a high-quality user experience requires business owners to speed up the WooCommerce database. A faster database can decrease page loading speed and allow users to interact with your webpage smoothly. The result is a satisfying customer journey with higher conversions.
In this post, we’ll discuss why it’s essential to optimize the WooCommerce database, explain its specifications, and suggest valuable tips to improve WooCommerce database performance.
What are the specifications of the WooCommerce database and why should you optimize it?
The WooCommerce database structure works within the WordPress platform, and stores some data in WordPress default tables and some in custom tables. The custom tables store customer-related information.
wp_posts and wp_postmeta
The WooCommerce orders database table is the same default wp_posts table which acts as a built-in repository storing customer data automatically once they purchase through your store. The process works for registered and non-registered users.
The wp_posts table records all orders from every customer and contains the Order ID and post_type columns. You can apply a filter in your query to search for orders with post_type equal to “shop_order.”
But the wp_posts table only tracks orders. So within the WordPress database, you must use the wp_postmeta table to find a customer’s details associated with a particular Order ID. It will provide the customer’s first and last name, shipping details, meta_key, meta_value, etc.
The wp_postmeta table also stores product attributes as a serialized key: value pair. You can also access attribute information through the WooCommerce product attributes database table called wp_ terms. It contains information such as a product’s ID, color, size, etc.
wp_users and wp_usermeta
Likewise, wp_users and wp_usersmeta tables store registered WordPress users’ data, such as shipping details, payment-related information, and email address, if you disable the “Guest checkout” option.
The wp_users table contains a user’s general information, while the wp_usermeta table contains billing details that WordPress uses for processing checkouts quickly if a visitor buys next time. The data allows WordPress to process purchases more quickly for repeat visitors.
The meta_value column against the _customer_user meta_key column in the wp_postmeta table links it with the wp_users and wp_usersmeta tables. For example, if the meta_value is “12” against _customer_user in the meta_key column, then you can search for user information with ID “12” in the wp_users table and user_id “12” in the wp_usersmeta table.
Of course, manually finding information is challenging and time-consuming. You can use plugins that streamline the search process by providing an easy-to-use interface for finding the relevant data. Also, you will likely use additional plugins and extensions to enhance your site’s functionality.
But WooCommerce creates more tables to store information related to such plugins, increasing database size and decreasing performance. And that’s why you must speed up WooCommerce database to ensure you are not burdening your site with heavy and long queries that these plugins execute behind the scenes.
How to identify which database queries are taking the longest to run?
Sub-optimal queries from heavy plugins and large databases can hamper your site’s performance and increase bounce rates.
Often, queries that are optimal at present can become problematic in the future as your site grows, and the query has to retrieve extensive data. For example, the WooCommmerce product database size increases as you add more products.
Also, queries that require joining several large tables can become incredibly slow. Here, we mention three ways to check which queries are taking the longest execution time.
- Using the Query Monitor plugin: You can use the Query Monitor plugin, which gives insightful information through an easy-to-understand interface regarding query performance against a specific request. You can find out which requests require the highest number of queries, which have the longest execution time, the source of such queries, etc.
- The Debug Bar Plugin: Debug Bar is also helpful in finding slow SQL queries. However, it has an outdated interface that doesn’t readily display sub-optimal queries by highlighting and sorting them neatly in tables as Query Monitor. But it provides a function trace that leads you to the exact source of a particular query.
- New Relic: New Relic is a powerful site monitoring tool that gives in-depth insights into several elements, such as code execution time, heavy PHP scripts, function stats, etc. It lists the slowest components, displaying their count, duration, and percentage for better analysis while recording every background request, helping you find a slow query quickly and debug issues efficiently.
7 actionable tips to speed up WooCommerce database
After understanding the WooCommerce database tables and learning how to identify slow queries through the plugins mentioned above, it’s time to present a few helpful tips to speed up WooCommerce database.
1. Switching to a better hosting provider
Before trying any of the below techniques to speed up WooCommerce Database, you must first ensure a robust hosting service. A poor host means you can only improve WooCommerce database performance by a little.
10Web Automated WordPress hosting service provides better speed guaranteeing a 90+ PageSpeed score, elastic scaling, and a high-performance cart. It runs each online store on secure servers in Google’s twelve data centers with up to eight processing units and 32 GB of ram, giving almost 99.9% uptime.
And if you’re on another host, 10Web allows you to quickly migrate your store to its platform without going through complex technical issues. Plus, 10Web monitors all sites for security breaches, DDoS attacks, malware, and other vulnerabilities.
You can get Dedicated hosting for $250 per month. You can also talk to a 10Web specialist for a custom package that suits your needs.
WordPress hosting that's fully automated
Host on 10Web's high performance infrastructure and enjoy all the benefits of a secure Google Cloud Partner hosting.
2. Table optimization through phpMyAdmin
The easiest way to speed up WooCommerce database is through phpMyAdmin found under your host’s control panel. You can access it from your by going to Databases and selecting phpMyAdmin. Select the “Check All” option and then select “With Selected” from the drop-down menu beside the “Check All” option. Select “Optimize table.”
WordPress will automatically optimize all the tables by reducing the amount of excess memory, bandwidth, or space allocated to a particular table. It will do so without deleting anything.
3. Indexing database tables
Another way to speed up WooCommerce database is to index database columns for faster retrieval. The technique helps lower query execution times, particularly for custom tables in WooCommerce that contain customer data. You can add indexes through phpMyAdmin by selecting the “Index” option below a table.
4. Clean up trashed items
Another way to do WooCommerce database cleanup is by emptying trashed items to free up space and reduce database size. Trashed items, such as old posts, pages, content, etc., still take up memory, and cleaning up trash will delete them permanently.
All you have to do is go to the Posts/Pages section from the WordPress Admin section and select Trash. So, select Empty Trash to permanently delete all posts and pages.
5. Minimize the use of plugins
As mentioned earlier, adding a plugin causes WordPress to create additional tables to store information associated with the particular plugin. They cause database size to grow and result in more significant query execution times. Also, specific plugins have sub-optimal scripts that degrade WooCommerce performance.
It’s advisable to use only the necessary plugins and delete the ones slowing down your site to have a clean WooCommerce database. The Query Monitor plugin lets you identify and delete them through WordPress’s “Installed Plugins” section.
6. Enable object caching
Through object caching, you can store query results in memory, so it takes less time to retrieve information when executing the same query the next time. Instead of sending requests to the database, the query results will directly come from the cache memory, and it will speed up WooCommerce database.
You can use the Redis Object Cache plugin to enable advanced object caching.
This will upgrade the WP default Object Cache which is not persistent. The tool uses the Redis framework, a No-SQL in-memory data structure that helps you access and process data faster than traditional SQL-based platforms.
7. WooCommerce database update
Updating the WooCommerce database is another quick way to speed up WooCommerce API and ensure queries execute in time. Regular updates are necessary to ensure the database contains the latest features, benefits from robust security fixes, and works with recent plugin versions.
But how to update the WooCommerce database? You can do it automatically by going to WooCommerce settings and choosing the “Update Automatically” option under the Database Updates section in the Advanced tab. Alternatively, you can select the “Update Manually” option for a manual update.
WooCommerce database optimization guarantees a smooth user experience through faster page loading and better interactivity. You can try to speed up the WooCommerce database through the techniques mentioned above. But if you only see a slight improvement, then the problem lies in the hosting service.
With 10Web AI Ecommerce Website Builder you get access to the Automated WordPress hosting which gives you optimal speed by ensuring each store runs on dedicated servers with adequate memory.
You can sign up for a Dedicated hosting plan costing $250 monthly and build and scale your online store with ease using the power of AI. However, a custom package is suitable if your online operations are on a much larger scale. You can talk to one of our specialists to see the best fit.
Additionally, website owners that want to improve their site’s overall health and speed will receive a high-performance infrastructure to run your entire website with free SSL certificates, automated backups, an intuitive dashboard, and much more.
Build your ecommerce business with the help of AI
Create your custom ecommerce website in minutes with AI-generated content and images and customize it easily with our drag and drop editor.