[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 メーリングリストの案内