Fast Woo Order Lookup

Description

Les pages de Commandes et d’Abonnements de WooCommerce permettent aux propriétaires de boutiques de rechercher des commandes et des abonnements par nom de client, e-mail et autres attributs. Par défaut, elle effectue une recherche de sous-chaîne générale. Par exemple, si vous mettez OllieJones dans la boîte de recherche, cela recherchera avec LIKE '%OllieJones%' en utilisant le joker initial %. Cela est étonnamment lent sur les sites avec de nombreuses commandes.

Lors de l’activation, cette extension lance un processus en arrière-plan pour créer une table d’index spéciale, une table de trigrammes, pour accélérer cette recherche. Ensuite, elle utilise ces trigrammes pour rechercher les commandes.

L’inconvénient : la table de trigrammes prend de l’espace dans la base de données et prend du temps à générer.

La page des commandes contient elle-même une requête très lente (qui sera corrigée dans Woocommerce 9.0.0) pour rechercher les meta_keys. Cela améliore également la performance de cette requête.

Crédits

Merci à Leho Kraav d’avoir attiré mon attention sur ce problème.

Merci à Sebastian Sommer et Maxime Michaud d’avoir utilisé les premières versions de l’extension sur de grandes boutiques, et à Maxime Michaud pour avoir réalisé la traduction en français.

Merci à JetBrains pour l’utilisation de leurs outils de développement logiciel, notamment PhpStorm. Il est difficile d’imaginer comment une extension comme celle-ci pourrait être développée sans les outils de PhpStorm pour explorer des bases de code épiques comme celle de WordPress.

Comment puis-je en apprendre davantage pour rendre mon site WordPress plus efficace ?

Nous proposons plusieurs extensions pour améliorer l’efficacité de la base de données de votre site. Vous pouvez en lire plus ici.

Installation

Suivez la procédure habituelle pour installer une extension depuis le dépôt d’extensions de wordpress.org.

FAQ

Quelle est la raison d’être de cette extension ?

Voyez cet incident WooCommerce pour un exemple du problème de performance que rencontrent les propriétaires de boutiques. Consultez cet incident Abonnements pour un autre exemple.

Quelle est la solution ?

Construisez une table de recherche de trigrammes, maintenez-la et utilisez-la pour les requêtes.

Combien d’espace prend la table de recherche de trigrammes ?

It takes about 5-10KiB per order, as MariaDB / MySQL database storage, counting both data and indexes. So, if your site has a million orders, the table will take something like 5-10 GiB.

Combien de temps faut-il pour générer la table de recherche de trigrammes ?

Lorsque vous activez l’extension, celle-ci commence à générer la table en arrière-plan. Tout continue normalement pendant que l’extension génère la table.

La génération de la table semble prendre environ dix secondes (en arrière-plan) pour chaque millier de commandes.

Fonctionne-t-il avec le High-Performance Order Storage (HPOS) ?

Oui.

Fonctionne-t-il avec le stockage de commandes pré-HPOS ?

Oui.

La table de recherche semble être obsolète. Je ne trouve pas les commandes récentes. Que dois-je faire ?

  1. Informez l’auteur en créant un issue à l’adresse https://github.com/OllieJones/fast-woo-order-lookup/issues
  2.  Désactivez, puis activez l’extension. Cela reconstruit la table de recherche.

Qu’est-ce que cette table wp_fwol créée par l’extension ?

Cette table, nommée avec une abréviation pour « Fast Woo Order Lookup », contient les recherches de trigrammes. Son nom est concis pour raccourcir les requêtes. Elle est supprimée automatiquement si vous désactivez l’extension.

Ma boutique n’a que quelques centaines de commandes. Ai-je besoin de cette extension ?

Cette extension résout des problèmes de performance de la base de données qui ne se manifestent que sur les boutiques avec des dizaines de milliers de commandes. Si votre boutique est plus petite, vous n’en avez probablement pas besoin.

Les propriétaires avisés de boutiques en pleine croissance reviennent régulièrement pour examiner les performances de leur site. Si votre site est encore petit, il est préférable d’attendre d’avoir réellement besoin d’extensions et de fonctionnalités d’optimisation des performances. Les installer « juste au cas où » est inefficace.

Avis

11 octobre 2024
this is, by far, the « must have » plugin for big shops, pair this with HPOS and you search in 300k+ orders in less than 1 second! (with 100 order listing!).very great work, this should be merged in core!
2 octobre 2024
We have been using this plugin since its initial release, their updates are brilliant never a hitch and being a fast based ecommerce company we need all the speed we can get. With over 120,000 orders in active view this plugin makes looking up orders super quick for our support team.
14 septembre 2024 1 réponse
We’ve been using Index WP MySQL For Speed for some time, and the creator also recommended the Fast Woo Order Lookup plugin. This plugin seems to function correctly, and the method used to accelerate searches is ingenious. The order search feature was a frequent offender in our MySQL slow query log, but it seems to be much less of an issue now. According to both customer service testimonials and personal experience, searches are significantly faster. Previously, a search could take up to ten seconds now, it often takes about three seconds. There are times when it may take slightly longer, but generally, it’s much quicker. One downside of this plugin—which I personally don’t consider a negative—is that the trigram table uses about 6.4GB of space. It’s also worth mentioning that we have over 630,000 orders on the site in question. We therefore recommend this plugin if you’re looking to reduce search times for anyone needing to look up orders on your site. It will enhance their productivity and also reduce processing time to deliver the desired results. We haven’t encountered any problems with this plugin, but I should mention that it should be implemented by someone with some technical knowledge to measure the impact it will have. This can depend on whether your site has plugins that modify certain aspects. Also, if your site is inherently slow, this plugin won’t perform miracles to solve underlying issues.
3 septembre 2024
I’ve had very slow wp-admin and woocommerce admin pages for a while now. Query monitor plugin showed a very high number of database queries from the woocommerce plugin. No idea why. Installing this plugin and Index WP mySQL For Speed plugin has immediately reduced the very high number of queries and sped up both wp-admin and woocommerce admin pages. Thank you very much and I hope my admin stays working this quick !
19 juillet 2024 1 réponse
I have been using Oliver’s plugins for years and they are amazing. This one is no exception. It improved the time to search for orders on a site with over 130,000 orders from 120 seconds to just 3 seconds! Just one question: does this plugin keep generating the indexes over and over again? Because I get this message constantly on the site: “Fast Woo Order Lookup indexing still in progress. 100% complete. See the Scheduled Actions status page for details.” And when this happens, the site backend and order lookup slows down again.
Lire les 5 avis

Contributeurs/contributrices & développeurs/développeuses

« Fast Woo Order Lookup » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.

Contributeurs

“Fast Woo Order Lookup” a été traduit dans 3 locales. Remerciez l’équipe de traduction pour ses contributions.

Traduisez « Fast Woo Order Lookup » dans votre langue.

Le développement vous intéresse ?

Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.

Journal

1.1.3 October 7, 2024

Handle tables and colums with character sets other than $wpdb->charset.

1.1.1 August 12, 2024

  • Limitez la durée d’exécution par lot à 25 secondes. Incluez un script shell cronjob pour purger les actions ActionScheduler périmées.

1.1.0 August 11, 2024

  • Some MariaDB / MySQL versions implicitly cast integers to latin1 strings causing problems. Explicit casting fixes the issue.