"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je éviter « ERREUR 1104 : Le SELECT examinerait trop d'enregistrements... » dans MySQL ?

Comment puis-je éviter « ERREUR 1104 : Le SELECT examinerait trop d'enregistrements... » dans MySQL ?

Publié le 2024-11-14
Parcourir:740

How Can I Prevent

MySQL : Comprendre et gérer SQL_BIG_SELECTS

SQL_BIG_SELECTS est une option de configuration MySQL qui permet d'empêcher le système d'exécuter des requêtes trop volumineuses qui pourraient mettre à rude épreuve son ressources. Dans cet article, nous approfondirons les nuances de SQL_BIG_SELECTS et proposerons des solutions pratiques pour éviter le message d'erreur associé :

"ERREUR 1104 : Le SELECT examinerait trop d'enregistrements et prendrait probablement très longtemps. Vérifiez votre WHERE et utilisez SET OPTION SQL_BIG_SELECTS=1 si le SELECT est ok"

1. Quand MySQL considère-t-il une requête comme une « grande sélection » ?

Le seuil de classification d'une requête comme une « grande sélection » est déterminé par la variable MySQL « max_join_size ». Si une requête doit analyser plus de ce nombre de lignes, elle déclenchera le message d'erreur. Utilisez 'show variables' pour vérifier la valeur actuelle de 'max_join_size'.

2. L'indexation résout-elle le problème ?

Une indexation appropriée et une clause WHERE efficace peuvent atténuer cette erreur en réduisant le nombre de lignes que la requête doit examiner.

3 . SQL_BIG_SELECTS est-il un dernier recours ?

SQL_BIG_SELECTS sert de mesure de protection pour empêcher l'exécution involontaire de requêtes massives. Il est conseillé de l'activer dans les fichiers de configuration MySQL ou via les options de ligne de commande au démarrage du serveur.

4. Comment activer SQL_BIG_SELECTS dans la configuration

Vous pouvez définir SQL_BIG_SELECTS sur « ON » dans le fichier « my.cnf » ou lors du démarrage du serveur. Une autre option consiste à utiliser la commande 'SET SESSION SQL_BIG_SELECTS=1' dans une session.

5. Existe-t-il d'autres alternatives ?

Bien qu'il n'existe pas d'alternatives directes, il vaut la peine de reconsidérer la requête elle-même pour s'assurer qu'elle est optimisée et qu'elle récupère uniquement les données nécessaires. De plus, vous pouvez augmenter manuellement la variable « max_join_size » pour prendre en charge des requêtes plus volumineuses.

Conclusion

Comprendre et gérer correctement SQL_BIG_SELECTS est crucial pour une exécution efficace des requêtes MySQL. En mettant en œuvre les solutions recommandées, telles que l'indexation, les requêtes optimisées et les paramètres de configuration appropriés, vous pouvez éviter efficacement le message d'erreur associé et garantir des performances optimales.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3