Maison > Article > développement back-end > Comment puis-je stocker efficacement des tableaux dans une base de données MySQL ?
Stockage de tableaux dans MySQL : un guide complet
Lorsque vous travaillez avec des bases de données relationnelles comme MySQL, il peut être difficile de stocker efficacement des tableaux. Cet article fournit un guide détaillé sur le stockage et la récupération de tableaux dans un seul champ MySQL.
Avantages et inconvénients du stockage sur tableau
Il n'existe pas de « bonnes » façons inhérentes de stocker les tableaux dans un seul champ. La sérialisation et la désérialisation des données à l'aide de fonctions telles que Serialize() et unserialize() peuvent sembler une solution, mais cette approche limite la possibilité d'interrogation et l'intégrité des données.
Approche relationnelle alternative
L'approche recommandée implique de restructurer votre schéma pour éliminer le besoin de stockage sur baie. Par exemple, considérons le tableau suivant :
<code class="php">$a = [ 1 => [ 'a' => 1, 'b' => 2, 'c' => 3 ], 2 => [ 'a' => 1, 'b' => 2, 'c' => 3 ], ];</code>
Pour stocker ces données dans MySQL, vous créeriez une table comme celle-ci :
<code class="sql">CREATE TABLE test ( id INT UNSIGNED NOT NULL PRIMARY KEY, a INT UNSIGNED NOT NULL, b INT UNSIGNED NOT NULL, c INT UNSIGNED NOT NULL );</code>
Cette approche vous permet d'interroger efficacement vos données . Voici des exemples de requêtes MySQL :
<code class="sql">SELECT * FROM test; INSERT INTO test (id, a, b, c) VALUES (1, 1, 2, 3);</code>
Alternatives supplémentaires
Si vous devez stocker des tableaux dans un seul champ, vous pouvez également envisager d'utiliser des fonctions JSON :
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!