[PostgreSQL]インデックスで複数のカラムを対象に作成する

2021年9月6日

書式
create index on スキーマ名.テーブル名(カラム1,カラム2)

使用例
1.テーブルを作成

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
postgres=# create table cftschema.kdftbl (uid integer,uname varchar(20),hp varchar(20));
CREATE TABLE
postgres=# create table cftschema.kdftbl (uid integer,uname varchar(20),hp varchar(20)); CREATE TABLE
postgres=# create table cftschema.kdftbl (uid integer,uname varchar(20),hp varchar(20));
CREATE TABLE

2.テーブルのunameカラムとhpカラムを対象にインデックスを作成

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
postgres=# create index on cftschema.kdftbl (uname,hp);
CREATE INDEX
postgres=# create index on cftschema.kdftbl (uname,hp); CREATE INDEX
postgres=# create index on cftschema.kdftbl (uname,hp);
CREATE INDEX

3.インデックスを確認

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
postgres=# \d cftschema.kdftbl
テーブル "cftschema.kdftbl"
|| 修飾語
-------+-----------------------+--------
uid | integer |
uname | character varying(20) |
hp | character varying(20) |
インデックス:
"kdftbl_uname_hp_idx" btree (uname, hp)
postgres=# \d cftschema.kdftbl テーブル "cftschema.kdftbl" 列 | 型 | 修飾語 -------+-----------------------+-------- uid | integer | uname | character varying(20) | hp | character varying(20) | インデックス: "kdftbl_uname_hp_idx" btree (uname, hp)
postgres=# \d cftschema.kdftbl
      テーブル "cftschema.kdftbl"
  列   |          型           | 修飾語
-------+-----------------------+--------
 uid   | integer               |
 uname | character varying(20) |
 hp    | character varying(20) |
インデックス:
    "kdftbl_uname_hp_idx" btree (uname, hp)

 

PostgreSQL

Posted by arkgame