日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

創(chuàng)建索引

定義一個新的索引。

語法

CREATE [ UNIQUE ] INDEX name ON table
  ( { column | ( expression ) } )
  [ TABLESPACE tablespace ]

參數(shù)

參數(shù)名稱

描述

UNIQUE

當(dāng)創(chuàng)建索引(如果數(shù)據(jù)已經(jīng)存在)和每一次添加數(shù)據(jù)的時候,這個參數(shù)會讓系統(tǒng)檢查表中的重復(fù)值。如果進(jìn)行的插入或更新操作產(chǎn)生了重復(fù)值,將產(chǎn)生錯誤。

name

要創(chuàng)建索引的名稱。它不包含模式名稱。索引只能它的源表所在模式中創(chuàng)建。

table

要創(chuàng)建索引的表的名稱(可以采用模式限定的方式引用)。

column

表中列的名稱。

expression

基于表中一列或多列的表達(dá)式。如語法所示,表達(dá)式通常必須用括號括起來。然而,如果表達(dá)式是函數(shù)調(diào)用的形式,可以不用寫括號。

tablespace

用于創(chuàng)建索引的表空間。如果沒有指定這個參數(shù),那么使用參數(shù)default_tablespace所指定的表空間。如果default_tablespace參數(shù)值是空字符串,那么使用數(shù)據(jù)庫的缺省表空間。

描述

CREATE INDEX命令用于在指定的表上創(chuàng)建一個索引。索引主要是用來提高數(shù)據(jù)庫的性能。

索引的關(guān)鍵字字段可以是列名,也可以是寫在括號中的表達(dá)式。您可以指定多個字段來創(chuàng)建多列索引。

索引字段可以是由表記錄中一列或者多列表字段值計(jì)算出來的一個表達(dá)式。您可以使用這種特性來快速訪問基于基礎(chǔ)數(shù)據(jù)轉(zhuǎn)換后的數(shù)據(jù)。例如,由UPPER(col)計(jì)算得出的索引值允許子句WHERE UPPER(col) = 'JIM'使用索引。

PolarDB提供B-樹結(jié)構(gòu)的索引。B-樹索引是Lehman-Yao高并發(fā)B-樹算法的應(yīng)用實(shí)現(xiàn)。

在缺省情況下,不能為IS NULL子句使用索引。

在索引定義中用到的所有函數(shù)和操作符必須是不可改變的,也就是說,它們的結(jié)果只取決于它們的參數(shù)而與外面的影響無關(guān)(例如,另外一張表的內(nèi)容或者當(dāng)前系統(tǒng)時間的改變)。這個限制確保索引的行為是明確界定的,如果在索引中使用用戶定義的函數(shù),必須記住在創(chuàng)建它的時候把函數(shù)標(biāo)識為不可改變。

如果您要在分區(qū)表中創(chuàng)建索引,那么CREATE INDEX命令則會基于引用的表的基礎(chǔ)上生成索引:

  • 如果您在CREATE INDEX命令中指定了分區(qū)根的名稱,那么同時也會創(chuàng)建表的任何分區(qū)或子分區(qū)索引。

  • 如果您在CREATE INDEX命令中指定了分區(qū)備份表的名稱,那么同時也會創(chuàng)建這個分區(qū)的任何子分區(qū)索引。

  • 如果您在CREATE INDEX命令中指定了子分區(qū)備份表的名稱,那么只會創(chuàng)建這個子分區(qū)表的索引。

說明

最多可為多列索引指定32個字段。

示例

在表emp中名稱為ename的列上創(chuàng)建一個B-樹索引:

CREATE INDEX name_idx ON emp (ename);

在表空間index_tblspc上創(chuàng)建一個和上面一樣的索引:

說明

對于polar_superuser用戶,支持將索引存儲在指定表空間的語法,但是實(shí)際上對象還是在pg_default表空間下,執(zhí)行過程中會返回提醒信息。對于普通用戶,不支持該語法。

CREATE INDEX name_idx ON emp (ename) TABLESPACE index_tblspc;