Maison  >  Article  >  développement back-end  >  Comment puis-je stocker efficacement des tableaux dans une base de données MySQL ?

Comment puis-je stocker efficacement des tableaux dans une base de données MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-30 11:14:02476parcourir

How Can I Store Arrays Efficiently in a MySQL Database?

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 :

  • json_encode() pour convertir un tableau en chaîne JSON.
  • json_decode() pour reconvertir une chaîne JSON en tableau.

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!

Déclaration:
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