Comprendre l'erreur MySQL : "Le SELECT examinerait plus de lignes MAX_JOIN_SIZE"
Dans MySQL, le message d'erreur "Le SELECT examinerait more than MAX_JOIN_SIZE rows" indique qu'une requête de jointure est censée récupérer un nombre excessif de lignes, dépassant le maximum configuré. Cela peut se produire lors de l'interrogation de grands ensembles de données avec plusieurs jointures, entraînant des problèmes de performances potentiels et un épuisement des ressources.
Résoudre le problème avec PHP et MySQL
Lorsque vous rencontrez cette erreur dans un environnement PHP et MySQL, la solution consiste à définir la variable de configuration SQL_BIG_SELECTS. Cette variable permet au serveur MySQL de gérer des ensembles de résultats plus grands en désactivant la contrainte sur la taille maximale de jointure.
Exemple de configuration en PHP
Pour définir SQL_BIG_SELECTS en PHP, exécutez un requête séparée avant votre requête principale :
<code class="php">$mysqli = new mysqli("localhost", "root", "password", "db"); $mysqli->query("SET SQL_BIG_SELECTS=1"); // Set it before your main query $results = $mysqli->query("SELECT a, b, c FROM test");</code>
En définissant SQL_BIG_SELECTS=1, vous demandez à MySQL de ne pas tenir compte de la limite MAX_JOIN_SIZE et de traiter la requête de jointure, même si elle est censée examiner un plus grand nombre de lignes.
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!