Maison > Article > base de données > Quelle est la taille maximale d'une instruction INSERT dans MySQL ?
Limites de taille des requêtes dans les instructions MySQL INSERT
Lors de l'exécution d'instructions INSERT dans MySQL, il est crucial de prendre en compte les limitations de taille potentielles. Cet article explore les facteurs qui déterminent le nombre maximum de lignes et d'octets pouvant être inclus dans une seule instruction INSERT.
Limitation du nombre de lignes
MySQL n'applique pas de limite du nombre de lignes pouvant être insérées à l'aide du modèle "INSERT ... SELECT". Cela permet l'insertion d'un nombre infiniment grand d'enregistrements, en supposant que les données sources existent dans d'autres tables.
Limitation de taille
Cependant, lors de l'utilisation de l'option "INSERT . .. VALUES" pour coder en dur les valeurs, il existe une limite imposée par la variable de configuration "max_allowed_packet". Cette variable définit la taille maximale autorisée des instructions SQL envoyées du client au serveur de base de données. La limite de taille s'applique à tous les types de requêtes, y compris les instructions INSERT.
Pour déterminer la valeur appropriée pour "max_allowed_packet", tenez compte des facteurs suivants :
Pour la plupart des applications, une valeur par défaut de 4 Mo est suffisante. Cependant, si vous rencontrez des erreurs dues aux limitations de taille des paquets, vous pouvez augmenter la valeur si nécessaire.
Par conséquent, même si le nombre de lignes pouvant être insérées à l'aide du modèle "INSERT ... SELECT" est effectivement illimité , la taille maximale d'une instruction INSERT utilisant le modèle "INSERT ... VALUES" est contrainte par la variable de configuration "max_allowed_packet".
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!