[pgsql-jp: 40991] Re: ある列にPRIMARY KEYインデックスとUNIQUEインデックスが両方ある場合
Kasahara Tatsuhito
kasahara.tatsuhito @ gmail.com
2011年 11月 21日 (月) 02:08:43 JST
笠原と申します。
> 公式マニュアルを見たところ、「技術的には、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 メーリングリストの案内