Fast Woo Order Lookup
WooCommerce’s Order and Subscription pages allow store owners to search for orders and subscriptions by customer name, email, and other attributes. By default, it does a general substring search. For example, if you put OllieJones into the search box, it will search with LIKE '%OllieJones%' using the leading wildcard %. That’s astonishingly slow on sites with many orders. Upon activation this plugin uses ActionScheduler to run a background process to create a special-purpose index table, a table of trigrams, to speed up that search. Then it uses those trigrams to search for orders. The downside: the trigram table takes database space and takes time to generate. The orders page itself contains a slow query to look up meta_keys. This fixes that query’s performance too, using a cache of available values. If you have problems The WordPress and WooCommerce ecosystems offer many optional features enabled by plugins. And, WooCommerce sites run on many different versions of database server. It is not possible to test this plugin on every imaginable combination. So, you may have problems getting it to work. Sometimes the process of creating the index table does not complete correctly. And, sometimes you cannot find some orders after the index is created. If you tell the author about these problems, he will attempt to fix them. Please create a support topic, then visit Site Health, view the Info tab, click the Copy Site Info to Clipboard button, and paste that information into the support topic. And, of course, please describe what is going wrong. Credits Thanks to Leho Kraav for bringing this problem to my attention. Thanks to Sebastian Sommer and Maxime Michaud for using early versions of the plugin on large stores, and to Maxime Michaud for creating the transation into French. Thanks to Jetbrains for the use of their software development tools, especially PhpStorm. It’s hard to imagine how a plugin like this one could be developed without PhpStorm’s tools for exploring epic code bases like WordPress’s. How can I learn more about making my WordPress site more efficient? We offer several plugins to help with your site’s database efficiency. You can read about them here.
Top keywords
- search6×1.63%
- orders5×1.36%
- site4×1.09%
- table4×1.09%
- database3×0.82%
- index3×0.82%
- many3×0.82%
- problems3×0.82%
- thanks3×0.82%
- woocommerce3×0.82%
- wordpress3×0.82%
- creating2×0.54%
Easy Actions Scheduler Cleaner
Easy Actions Scheduler Cleaner helps you clean up your Actions Scheduler database tables. Over time, these tables can accumulate thousands or even millions of records from completed, failed, canceled, and past-due actions that are no longer needed, as well as extensive logs that can take up significant database space. This plugin provides two cleanup modes plus email notifications: Manual cleanup Run a one-time cleanup that removes all unnecessary records at once: Delete completed actions – Actions that have already been executed successfully Delete failed actions – Actions that encountered errors during execution Delete canceled actions – Actions that were manually canceled Delete past-due actions – Actions that missed their scheduled execution time Delete old pending actions – Pending actions older than 30 days Delete action logs – Historical log records that accumulate over time Scheduled cleanup Configure automatic cleanup to run on a schedule with smart thresholds: Flexible frequency – Daily, weekly, biweekly, or monthly Per-type configuration – Enable/disable cleanup for each action type independently Threshold system – Only clean when records exceed your configured minimum (e.g., clean completed actions only when there are more than 100) Configurable pending age – Set custom age for old pending actions (7 to 365 days) Last run reporting – See results from the last scheduled cleanup Background processing (NEW in 1.3) – The scheduled cleanup now runs as a self-rescheduling Action Scheduler job, so it never times out on large sites with millions of records Email notifications Stay informed about your database status with configurable email notifications: Periodic reports – Receive daily, weekly, or monthly reports with database status, cleanup results, and estimated space savings Accumulation alerts – Get notified when records pile up without an active scheduled cleanup Missed cleanup alerts – Detect when WP-Cron fails to execute a scheduled cleanup Separate recipient lists – Configure different email addresses for management reports and technical alerts HTML formatted emails – Clean, readable email reports Test emails – Send test report or alert emails directly from the settings page to verify delivery Key features Two cleanup modes – Manual one-time cleanup or scheduled automatic cleanup Smart thresholds – Scheduled cleanup only runs when record counts justify it Database space estimation – See how much space your Action Scheduler tables are using Email notifications – Periodic reports, accumulation alerts, and missed cleanup warnings Batch processing – Handles large datasets efficiently (10,000 records per batch) Detailed reporting – Shows exactly how many records were deleted by type and estimated space freed Orphaned data cleanup – Also removes related orphaned groups Complete logs cleanup – Removes all action logs that accumulate over time WooCommerce integration – Seamlessly works with WooCommerce’s Action Scheduler Why use this plugin? The Actions Scheduler tool used by WooCommerce and many other WordPress plugins can accumulate millions of database records over time, which can: Slow down your website performance Increase database size unnecessarily Make database backups larger and slower Impact Actions Scheduler’s own performance The action logs table (actionscheduler_logs) is particularly problematic as it records detailed information about every action execution and can grow exponentially on busy sites. Works with Action Scheduler 4.0 and WooCommerce 11.0 Action Scheduler 4.0 (bundled with WooCommerce 11.0) now removes failed actions automatically after three months, on top of the completed-action cleanup it already did. This plugin still does more, and on your terms: it cleans on demand and immediately, and it also clears past-due actions, old pending actions, every action log, and orphaned groups that Action Scheduler leaves behind. Important notes Cleanup is irreversible – Always backup your database before use Scheduled cleanup respects thresholds – Only cleans when record counts exceed your minimums You choose the mode – Use manual for one-time cleanup or scheduled for ongoing maintenance Perfect for E-commerce sites with large Action Scheduler tables Sites with millions of action log records Database maintenance and optimization Before major WooCommerce updates Preparing for site migrations Regular automated maintenance Privacy Policy This plugin does not collect, store, or transmit any user data externally. Email notifications are sent using WordPress’s built-in wp_mail() function through your server’s mail configuration. All data processing happens locally on your server. Technical Details Minimum requirements WordPress 6.0 or higher WooCommerce 3.0 or higher (optional) PHP 7.4 or higher MySQL 5.6 or MariaDB 10.1 Database tables affected wp_actionscheduler_actions – Main actions table wp_actionscheduler_groups – Groups table (orphaned records only) wp_actionscheduler_logs – Logs table (all records) Batch processing The plugin processes deletions in batches of 10,000 records to prevent timeouts and reduce server load during cleanup operations. WP-Cron Scheduled cleanup and email notifications rely on WP-Cron. If your site uses an external cron job (DISABLE_WP_CRON), make sure your system cron is properly configured to trigger WP-Cron. The missed cleanup alert can help detect WP-Cron issues. For developers The plugin exposes three filters for fine-tuning the cleanup behavior. Add them to a mu-plugin or your theme’s functions.php: easc_large_site_threshold (default: 500000) Number of total records (actions + logs) that triggers the “consider enabling scheduled cleanup” admin notice. easc_batch_size (default: 10000, context: 'scheduled') Rows deleted per DELETE LIMIT query. Lower if your database struggles, raise if you have headroom. Currently applies to the scheduled cleanup only. easc_cleanup_step_time_budget (default: 25) Seconds each background step is allowed to run before rescheduling itself. Should be lower than your hosting’s PHP max_execution_time. Example: add_filter( 'easc_large_site_threshold', fn() => 100000 ); Support Need private support or custom development? Do you need one-on-one help, priority troubleshooting, or a custom feature, integration, or tweak built specifically for your site? I offer private support and custom development. Just contact me and tell me what you need. Need help or have suggestions? Official website WordPress support forum YouTube channel Documentation and tutorials Love the plugin? Please leave us a 5-star review and help spread the word! About AyudaWP We are specialists in WordPress security, SEO, and performance optimization plugins. We create tools that solve real problems for WordPress site owners while maintaining the highest coding standards and accessibility requirements.