sql >> データベース >  >> RDS >> PostgreSQL

パフォーマンスの列のタイプとしての(var)char?

    そうは思わないので、代わりに整数を使用するのは良い考えです。整数PKよりもどれだけ遅くなるかを予測するのは難しいですが、この設計は遅くなります。大きなテーブルを結合すると、影響はさらにひどくなります。可能であれば、代わりにENUMタイプを使用してください。

    http://www.postgresql.org/docs/9.2/static /datatype-enum.html

    CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');
    
    CREATE TABLE person (
        name text,
        current_mood mood
    );
    INSERT INTO person VALUES ('Moe', 'happy');
    SELECT * FROM person WHERE current_mood = 'happy';
     name | current_mood 
    ------+--------------
     Moe  | happy
    (1 row)
    

    PostgreSQLのvarcharとcharのタイプは非常に似ています。内部実装は同じです-charは、スペースによる追加のために少し遅くなる可能性があります(逆説です)。



    1. PDOで複数の行を挿入します

    2. SQL Serverの丸め誤差、異なる値を指定

    3. AccessでCompactandRepairコマンドを使用する方法

    4. PHPとMySQLを使用したユーザー紹介システム