0

私はPHP、MySqlを使用しています。

例 :

$type = array(
    "owner",
    "agent",
    "representative",
);

DB に格納するための好ましい方法は何ですか?

  1. インデックスとして保存します。0 は「所有者」を意味し、1 は「エージェント」を意味します。
  2. キー値とともに保存します。上記のコードを再作成します

    $type = array(
        "OWNER" => "owner",
        "AGENT" => "agent",
        "REPRESENTATIVE" => "representative",
    ); 
    

    そして、値を「OWNER」、「AGENT」として保存します。

読みやすさが向上するため、私は方法2を使用する傾向があります。

方法 1

  • - 可読性が低い
  • + 優れたパフォーマンス
  • 方法 2 (ENUM)

  • + 高い可読性
  • -低パフォーマンス
  • - データベース設計を変更する必要性を追加
  • ベストプラクティスは何ですか? 皆さんは何を使っていますか?

    4

    3 に答える 3

    3

    比較的有限の値セットを使用している場合は、ENUMデータ型を使用してください。人間が読める形式で読み書きできますが、通常は int として保存されます。

    于 2013-09-17T02:07:16.900 に答える
    2

    私は方法 1 を好みます。パフォーマンスに関しては、方法 2 よりも優れたオプションです。読みやすさが気になる場合は、次のテーブルを作成しますpermission_types

    id | value
    1    Owner
    2    Agent
    

    次に、そのテーブルに参加して、文字列を検索していないため、読みやすさとパフォーマンスを向上させることができます。さらに、必要に応じて、アクセス許可の種類を簡単に追加することもできます。

    于 2013-09-17T02:09:02.750 に答える