[pgsql-jp: 40992] Re: ある列にPRIMARY KEYインデックスとUNIQUEインデックスが両方ある場合
柏木大助
kashiwagi @ sencorp.co.jp
2011年 11月 21日 (月) 12:29:06 JST
MauMauさま
ご回答ありがとうございます!
それではUniqueインデックスを削除しようと思います。
インデックスだけで数百MB容量を食っていたので、どれくらい効果があるか楽しみです。
柏木
> Date: Sun, 20 Nov 2011 17:52:25 +0900
> From: "MauMau" <maumau307 @ gmail.com>
> To: "PostgreSQL Japanese Mailing List" <pgsql-jp @ ml.postgresql.jp>
> Subject: [pgsql-jp: 40990] Re: ある列にPRIMARY
> KEYインデックスとUNIQUEインデックスが両方ある場合
> Message-ID: <EC156FB41F89419CA6C770CD93970596 @ maumau>
> Content-Type: text/plain; format=flowed; charset="iso-2022-jp";
> reply-type=original
>
> 柏木さん
>
>
> MauMauといいます。
>
> お考えのとおり、特にリスクはないでしょう。
>
> 以上です。
>
> ----- Original Message -----
> From: "柏木大助" <kashiwagi @ sencorp.co.jp>
> To: <pgsql-jp @ ml.postgresql.jp>
> Sent: Saturday, November 19, 2011 5:34 AM
> Subject: [pgsql-jp: 40989]ある列にPRIMARY KEYインデックスとUNIQUEインデックスが両方ある場合
>
>
>> はじめてメールします。
>> 柏木と申します。
>>
>> インデックスについてご教授ください。
>>
>> 前任者からシステムを引き継いだのですが、
>> ほとんどのテーブルで、主キーのカラムにPRIMARY_KEYインデックスとUNIQUEインデックスが両方作成されていました。
>>
>> ■例:
>> => \d item
>> テーブル "public.item"
>> カラム | 型 |
>> 修飾語
>> ------------------+-----------------------------+----------------------------------------------------------------------
>> id | integer | not null デフォルト
>> nextval('item_id_seq'::regclass)
>> インデックス:
>> "item_pkey" PRIMARY KEY, btree (id)
>> "item_pk" UNIQUE, btree (id)
>>
>>
>> 公式マニュアルを見たところ、「技術的には、PRIMARY KEYは単なるUNIQUEとNOT
>> NULLの組み合わせです。 」と書かれておりましたので、
>> UNIQUEインデックスを削除しようと思うのですが、何かリスク等はありますでしょうか?
>> http://www.postgresql.jp/document/pg844doc/html/sql-createtable.html
>>
>>
>> ■環境
>> => select version();
>> version
>> -------------------------------------------------------------------------------------------------------------------
>> PostgreSQL 8.4.4 on x86_64-unknown-linux-gnu, compiled by GCC gcc
>> (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48), 64-bit
>>
>> よろしくお願いいたします。
>> 柏木
>>
>
>
>
> ------------------------------
>
> Message: 2
> Date: Mon, 21 Nov 2011 02:08:43 +0900
> From: Kasahara Tatsuhito <kasahara.tatsuhito @ gmail.com>
> To: PostgreSQL Japanese Mailing List <pgsql-jp @ ml.postgresql.jp>
> Subject: [pgsql-jp: 40991] Re: ある列にPRIMARY
> KEYインデックスとUNIQUEインデックスが両方ある場合
> Message-ID:
> <CAP0=ZVLKTdqTWXeKATCjhSBXOpzERHYomxwUpKvtWNc8PEUWMg @ mail.gmail.com>
> Content-Type: text/plain; charset=ISO-2022-JP
>
> 笠原と申します。
>
>> 公式マニュアルを見たところ、「技術的には、PRIMARY KEYは単なるUNIQUEとNOT NULLの組み合わせです。 」と書かれておりましたので、
>> UNIQUEインデックスを削除しようと思うのですが、何かリスク等はありますでしょうか?
> 特に無いと思います。
>
> むしろ、無駄なインデックスを削除できるので更新処理などのオーバーヘッド削減や
> DB容量の削減ができるので色々とメリットがあると思いますよ !
>
>
> 2011年11月19日5:34 柏木大助 <kashiwagi @ sencorp.co.jp>:
>> はじめてメールします。
>> 柏木と申します。
>>
>> インデックスについてご教授ください。
>>
>> 前任者からシステムを引き継いだのですが、
>> ほとんどのテーブルで、主キーのカラムにPRIMARY_KEYインデックスとUNIQUEインデックスが両方作成されていました。
>>
>> ■例:
>> => \d item
>> テーブル "public.item"
>> カラム | 型 | 修飾語
>> ------------------+-----------------------------+----------------------------------------------------------------------
>> id | integer | not null デフォルト
>> nextval('item_id_seq'::regclass)
>> インデックス:
>> "item_pkey" PRIMARY KEY, btree (id)
>> "item_pk" UNIQUE, btree (id)
>>
>>
>> 公式マニュアルを見たところ、「技術的には、PRIMARY KEYは単なるUNIQUEとNOT NULLの組み合わせです。 」と書かれておりましたので、
>> UNIQUEインデックスを削除しようと思うのですが、何かリスク等はありますでしょうか?
>> http://www.postgresql.jp/document/pg844doc/html/sql-createtable.html
>>
>>
>> ■環境
>> => select version();
>> version
>> -------------------------------------------------------------------------------------------------------------------
>> PostgreSQL 8.4.4 on x86_64-unknown-linux-gnu, compiled by GCC gcc
>> (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48), 64-bit
>>
>> よろしくお願いいたします。
>> 柏木
>>
>
>
>
> --
> Tatsuhito Kasahara
> kasahara.tatsuhito _at_ gmail.com
>
>
> ------------------------------
>
> _______________________________________________
> pgsql-jp mailing list
> pgsql-jp @ ml.postgresql.jp
> http://ml.postgresql.jp/mailman/listinfo/pgsql-jp
>
>
> 以上: pgsql-jp まとめ読み, 79 巻, 9 号
> **************************************
>
pgsql-jp メーリングリストの案内