Améliorez l'optimisation des requêtes avec "IF EXISTS" de MySQL
Les requêtes impliquant des blocs de contrôle IF rencontrent souvent des messages d'erreur en raison de leur placement en dehors des fonctions. Pour contourner ce problème, la première requête fournie peut être modifiée pour fonctionner efficacement.
Refactorisation de la requête
La clause EXISTS peut être transformée en sous-requête au sein d'une fonction IF comme suit :
SELECT IF( EXISTS( SELECT * FROM gdata_calendars WHERE `group` = ? AND id = ?), 1, 0)
Alternativement, puisque les booléens sont renvoyés sous la forme 1 ou 0, la requête peut être simplifiée à :
SELECT EXISTS( SELECT * FROM gdata_calendars WHERE `group` = ? AND id = ?)
Cette optimisation élimine l'utilisation de blocs de contrôle IF en dehors des fonctions, résolvant ainsi les messages d'erreur rencontrés précédemment.
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!