Utilisation de UNION ALL pour une requête efficace
Lors de la tentative de recherche d'une ligne dans une table avec une précision décrémentante, il est inefficace d'exécuter plusieurs instructions SELECT l'une après l'autre. Au lieu de cela, envisagez d'utiliser une requête UNION ALL pour combiner plusieurs SELECT en une seule expression efficace.
Requête optimisée :
SELECT * FROM image WHERE name = 'name105' AND group_id = 10 UNION ALL SELECT * FROM image WHERE name = 'name105' UNION ALL SELECT * FROM image WHERE group_id = 10 LIMIT 1;
Explication :
Cette requête utilise trois instructions SELECT, chacune avec un niveau de valeur progressivement inférieur. précision :
En combinant ces éléments SELECT utilisant UNION ALL, la requête garantit que la première correspondance est renvoyée, même si elle n'est basée que sur un seul paramètre.
Avantages :
Remarque :
Dans les versions 11 et ultérieures de PostgreSQL, envisagez la possibilité d'ajouter en parallèle lors de l'utilisation de UNION ALL. Cela peut affecter la fiabilité de la requête dans certains scénarios. Reportez-vous au fil de discussion ci-dessous pour plus de détails :
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!