MySQL データベースに配列を効率的に保存するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-30 11:14:02
オリジナル
514 人が閲覧しました

How Can I Store Arrays Efficiently in a MySQL Database?

MySQL への配列の保存: 総合ガイド

MySQL などのリレーショナル データベースを使用する場合、配列を効率的に保存するのが難しい場合があります。この記事では、単一の MySQL フィールドでの配列の保存と取得に関する詳細なガイドを提供します。

配列ストレージの長所と短所

固有の「良い」方法はありません。配列を 1 つのフィールドに格納します。 Serialize() や unserialize() などの関数を使用してデータをシリアル化およびシリアル化解除することが解決策のように思えるかもしれませんが、このアプローチではクエリ可能性とデータの整合性が制限されます。

代替リレーショナル アプローチ

推奨されるアプローチには、スキーマを再構築して配列ストレージの必要性を排除することが含まれます。たとえば、次の配列について考えてみましょう:

<code class="php">$a = [
    1 => [
        'a' => 1,
        'b' => 2,
        'c' => 3
    ],
    2 => [
        'a' => 1,
        'b' => 2,
        'c' => 3
    ],
];</code>
ログイン後にコピー

このデータを MySQL に保存するには、次のようなテーブルを作成します:

<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>
ログイン後にコピー

このアプローチにより、データを効果的にクエリできます。 。以下に MySQL クエリの例を示します:

<code class="sql">SELECT * FROM test;
INSERT INTO test (id, a, b, c) VALUES (1, 1, 2, 3);</code>
ログイン後にコピー

追加の代替案

配列を 1 つのフィールドに保存する必要がある場合は、JSON 関数の使用を検討することもできます:

  • json_encode() は配列を JSON 文字列に変換します。
  • json_decode() は JSON 文字列を配列に変換します。

以上がMySQL データベースに配列を効率的に保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート