「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > MySQL データベースに配列を効率的に保存するにはどうすればよいですか?

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

2024 年 11 月 8 日に公開
ブラウズ:882

How Can I Store Arrays Efficiently in a MySQL Database?

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

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

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

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

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

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

$a = [
    1 => [
        'a' => 1,
        'b' => 2,
        'c' => 3
    ],
    2 => [
        'a' => 1,
        'b' => 2,
        'c' => 3
    ],
];

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

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
);

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

SELECT * FROM test;
INSERT INTO test (id, a, b, c) VALUES (1, 1, 2, 3);

追加の代替案

配列を単一フィールドの場合は、JSON 関数を使用することも検討できます。

  • json_encode() で配列を JSON 文字列に変換します。
  • json_decode() で JSON 文字列を配列に変換します。 .
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3