Maison >base de données >tutoriel mysql >Pourquoi les performances des requêtes PostgreSQL LIKE sont-elles si variables et comment puis-je les optimiser ?
Les requêtes LIKE de PostgreSQL peuvent montrer des différences spectaculaires dans la vitesse d'exécution. Comprendre les facteurs affectant les performances est la clé de l’optimisation.
L'index trigramme du module pg_trgm
accélère considérablement les performances des requêtes LIKE. Ces index gèrent tous les modèles LIKE et ILIKE (y compris les correspondances partielles et les caractères génériques) en indexant des combinaisons de trois caractères. Cela permet des recherches efficaces quelle que soit la longueur de la chaîne.
^@
et starts_with()
PostgreSQL propose l'opérateur ^@
et la fonction starts_with()
pour la correspondance de préfixe. Ils optimisent les recherches en utilisant les index btree ou SP-GiST pour les modèles dépourvus de caractères génériques principaux.
COLLATE "C"
et text_pattern_ops
Pour les modèles ancrés à gauche (sans caractères génériques de début), l'utilisation de COLLATE "C"
ou de la classe d'opérateur text_pattern_ops
avec les index btree fournit une alternative peu encombrante aux index trigrammes.
Pour des conseils plus détaillés sur l'optimisation des requêtes LIKE, consultez ces ressources :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!