PostgreSQL 13に複数のカラムの組み合わせを対象にインデックスを作成する
環境
Windows 10 64bit
PostgreSQL 13.2
書式
CREATE INDEX [ name ] ON [ ONLY ] table_name
( column_name [, …] )
テーブル( table_name )のカラム( column_name )を対象としたインデックスを作成します。
操作例
1.テーブルを作成します
testdb=# create table cft.employee (empid integer,empname varchar(25),address varchar(30));
CREATE TABLE
testdb=# create table cft.employee (empid integer,empname varchar(25),address varchar(30));
CREATE TABLE
testdb=# create table cft.employee (empid integer,empname varchar(25),address varchar(30)); CREATE TABLE
2.インデックスは複数のカラムの組み合わせを対象に作成します
testdb=# create index on cft.employee (empname, address);
CREATE INDEX
testdb=# create index on cft.employee (empname, address);
CREATE INDEX
testdb=# create index on cft.employee (empname, address); CREATE INDEX
3.作成したインデックスを確認します
testdb=# \d cft.employee
テーブル"cft.employee"
列 | タイプ | 照合順序 | Null 値を許容 | デフォルト
---------+-----------------------+----------+---------------+------------
empid | integer | | |
empname | character varying(25) | | |
address | character varying(30) | | |
インデックス:
"employee_empname_address_idx" btree (empname, address)
インデックス名:employee_empname_address_idx
インデックスの種類:btree
インデックスの対象となっているカラムが「empname」と「address」カラムです
testdb=# \d cft.employee
テーブル"cft.employee"
列 | タイプ | 照合順序 | Null 値を許容 | デフォルト
---------+-----------------------+----------+---------------+------------
empid | integer | | |
empname | character varying(25) | | |
address | character varying(30) | | |
インデックス:
"employee_empname_address_idx" btree (empname, address)
インデックス名:employee_empname_address_idx
インデックスの種類:btree
インデックスの対象となっているカラムが「empname」と「address」カラムです
testdb=# \d cft.employee テーブル"cft.employee" 列 | タイプ | 照合順序 | Null 値を許容 | デフォルト ---------+-----------------------+----------+---------------+------------ empid | integer | | | empname | character varying(25) | | | address | character varying(30) | | | インデックス: "employee_empname_address_idx" btree (empname, address) インデックス名:employee_empname_address_idx インデックスの種類:btree インデックスの対象となっているカラムが「empname」と「address」カラムです