MySQL FIND_IN_SET peut-il être conçu pour exploiter des indices ?
Dans cette question, nous examinons le comportement de la fonction FIND_IN_SET de MySQL par rapport à l'IN opérateur, qui utilise des indices pour une récupération plus rapide des données.
Comprendre le problème
Comme illustré dans les résultats Explain fournis, FIND_IN_SET n'exploite pas l'index de clé primaire, ce qui conduit à performances sous-optimales. L'objectif est de trouver un moyen d'obtenir des performances similaires à celles de l'opérateur IN, qui utilise efficacement les indices.
Solution
Bien que FIND_IN_SET ne puisse pas être directement optimisé pour utiliser des indices, une solution de contournement existe en utilisant des instructions préparées.
Implémentation
Cette approche permet d'obtenir le comportement souhaité en utilisant des indices, similaires à l'opérateur IN, tout en permettant de paramétrer la requête avec une virgule. chaîne séparée.
Considérations supplémentaires
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!