Maison > base de données > tutoriel mysql > Comment puis-je insérer plusieurs lignes de manière efficace et sécurisée dans une base de données MySQL ?

Comment puis-je insérer plusieurs lignes de manière efficace et sécurisée dans une base de données MySQL ?

Susan Sarandon
Libérer: 2024-12-12 11:55:09
original
932 Les gens l'ont consulté

How Can I Efficiently and Securely Insert Multiple Rows into a MySQL Database?

Insertion efficace et sécurisée de plusieurs lignes à l'aide de MySQLi

L'insertion d'un grand nombre de lignes dans une base de données MySQL nécessite à la fois efficacité et sécurité. L'utilisation d'une approche naïve, comme le montre le code PHP fourni, peut entraîner des problèmes de performances et des vulnérabilités d'injection SQL.

Pour répondre à ces problèmes, une solution plus optimale consiste à effectuer les insertions dans une transaction et à déplacer l'instruction. préparation et liaison en dehors de la boucle :

$array = array("array", "with", "about", "2000", "values");
$query = "INSERT INTO table (link) VALUES (?)";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("s", $one);

$mysqli->query("START TRANSACTION");
foreach ($array as $one) {
    $stmt->execute();
}
$stmt->close();
$mysqli->query("COMMIT");
Copier après la connexion

Cette technique a été testée et démontrée pour améliorer considérablement les performances. Plus précisément, l'insertion de 10 000 enregistrements avec l'approche originale prenait 226 secondes, tandis que la méthode optimisée accomplissait la tâche en seulement 2 secondes. Cela représente une augmentation de l'efficacité de deux ordres de grandeur.

En utilisant des transactions, vous pouvez insérer plusieurs lignes à la fois tout en préservant l'intégrité des données et en assurant la protection contre les injections SQL. Cette approche offre à la fois rapidité et sécurité, ce qui en fait la méthode privilégiée pour insérer efficacement de gros volumes de données dans une base de données MySQL.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal