2_04_34-インデックス作成

PHPとPostgreSQLを利用したWEBシステムの開発例を掲載していきます。腕時計 販売サイト my-watch.biz



● 2_04_34-インデックス作成

 インデックスを設定すれば検索を早くする事ができます。
 データがかなり肥大した時に効果が出るので初期から設定する必要はありません。運用と合わせて検討していくものです。

 インデックスには通常のインデックスと関数インデックスがあります。

 通常のインデックス

 構文は以下になります。

CREATE [ UNIQUE ] INDEX インデックス名

ON テーブル名 [ USING アクセスメソッド ]

( カラム名 [ タイプクラス] [, ...] )


 [ UNIQUE ]
 ユニークインデックスを作成する場合に指定します。

 [ USING アクセスメソッド ] 
 使用するアクセスメソッドを指定します。アクセスメソッドには以下の3つが指定可能です。
 BTREE  BTREEを実装します。
 RTREE  RTREEを実装します。
 HASH  HASHを実装します

 ( カラム名 [ タイプクラス] [, ...] )
 インデックスを作成するカラムを指定します。
 必要ならタイプクラスには型のクラスを指定します。(bpcharならbpchar_ops,textならtext_opsなどです。)

 関数インデックス

 構文は以下になります。

CREATE [ UNIQUE ] INDEX インデックス名

ON テーブル名 [ USING アクセスメソッド ]

( 関数名(パラメータ [, ... ]) タイプクラス )


 ( 関数名(パラメータ [, ... ]) タイプクラス )
 関数インデックスを作成する場合に関数名を指定します。

 運用しているシステムのパフォーマンスが十分である場合はインデックスを設定する必要はありません。
 余分な事をしていると、パフォーマンスが落ちてきて、インデックスを設定する際に何に未設定で、何に対して設定しているかを調べ直す必要が出ます。

 インデックス以外にSQLの組み方、ハードのスペック、制御しているプログラムも十分に検討しましょう。



 通常のインデックスの例文
 CREATE INDEX idx_e_shouhin_t ON e_shouhin_t ( e_shouhin_group )
 
 関数インデックスの例文・・・あくまで例文です
 CREATE INDEX idx_sum_e_shouhin_t ON e_shouhin_t ( upper ( e_shouhin_color ) )


戻る

Copyright (c) 2007 MSweb All Rights Reserved

腕時計 クロノグラフ(時計)のメンズ専門販売サイトカシオ G-SHOCK、Baby-G(腕時計)専門の通信販売サイトG-SHOCK、Baby-G専門通販サイト 運営ブログ

腕時計 女性専用 販売のladies-watch.biz腕時計 メンズ(男性)専門販売のmens-watch.biz