CREATE INDEX

中文man手册

CREATE INDEX

NAME
SYNOPSIS
DESCRIPTION æè¿°
PARAMETERS åæ°
NOTES 注æ
EXAMPLES ä¾å
COMPATIBILITY å¼å®¹æ§
è¯è
è·

NAME

CREATE INDEX - å®ä¹ä¸ä¸ªæ°ç´¢å¼

SYNOPSIS

CREATE [ UNIQUE ] INDEX name ON table [ USING method ]
( { column | ( expression ) } [ opclass ] [, ...] )
[ WHERE predicate ]

DESCRIPTION æè¿°

CREATE INDEX 卿å®çè¡¨ä¸æé ä¸ä¸ªå为 index_name çç´¢å¼ãç´¢å¼ä¸»è¦ç¨æ¥æé«æ°æ®åºæ§è½ã使¯å¦æä¸æ°å½ç使ç¨å°å¯¼è´æ§è½çä¸éã

ç´¢å¼çé®ååæ®µæ¯ä»¥å段åçæ¹å¼å£°æçï¼æèæ¯å¯éçåå¨ä¸ä¸ªåæ¬å¼§éé¢ç表达å¼ã å¦æç´¢å¼æ¹å¼æ¯æå¤ä¸ªå段索å¼ï¼é£ä¹æä»¬ä¹å¯ä»¥å£°æå¤ä¸ªå段ã

ä¸ä¸ªç´¢å¼å段å¯ä»¥æ¯ä¸ä¸ªä½¿ç¨è¡¨çè¡çä¸ä¸ªæå¤ä¸ªå- æ®µçæ°å¼è¿è¡è®¡ç®ç表达å¼ã æ´ä¸ªç¹æ§å¯ç¨äºè·åå¯¹åºæ¬æ°æ®æç§åå½¢çå¿«é访é®ã æ¯å¦ï¼ä¸ä¸ªå¨ upper(col) ä¸ç彿°ç´¢å¼å°å许åå¥ WHERE upper(col) = ’JIM’ 使ç¨ç´¢å¼ã

PostgreSQL 为ä»ç´¢å¼æä¾ B-treeï¼R-treeï¼hashï¼æ£åï¼ å GiST ç´¢å¼æ¹æ³ã B-tree ç´¢å¼æ¹æ³æ¯ä¸ä¸ª Lehman-Yao é«å¹¶å B-trees çå® ç°ãR-tree ç´¢å¼æ¹æ³ç¨ Guttman çäºæ¬¡åè£ç®æ³å®ç°äºæ åç R-treesã hashï¼æ£åï¼ç´¢å¼æ¹æ³æ¯ Litwin ççº¿æ§æ£åçä¸ä¸ªå®ç°ã ç¨æ·ä¹å¯ä»¥å®ä¹å®ä»¬èªå·±çç´¢å¼æ¹æ³ï¼ä½è¿ä¸ªå·¥ä½ç¸å½å¤æã

妿åºç°äº WHERE åå¥ï¼åå建ä¸ä¸ªé¨åç´¢å¼ã é¨åç´¢å¼æ¯ä¸ä¸ªåªåå«è¡¨çä¸é¨åè®°å½çç´¢å¼ï¼é常æ¯è¯¥è¡¨ä¸- æè®©äººæå´è¶£çé¨åã æ¯å¦ï¼å¦æä½ æä¸ä¸ªè¡¨ï¼éé¢åå«å·²ä¸è´¦åæªä¸è´¦çå®åï¼ æªä¸è´¦çå®ååªå è¡¨çä¸å°é¨åèä¸è¿é¨åæ¯æå¸¸ç¨çé¨åï¼ é£ä¹ä½ å°±å¯ä»¥éè¿åªå¨è¿ä¸ªé¨åå建ä¸ä¸ªç´¢å¼æ¥æ¹åæ§è½ã å¦å¤ä¸ä¸ªå¯è½çç¨éæ¯ç¨ WHERE å UNIQUE 强å¶ä¸ä¸ªè¡¨çæä¸ªåéçå¯ä¸æ§ã

å¨ WHERE åå¥éç¨ç表达å¼åªè½å¼ç¨ä¸å±è¡¨çåæ®µï¼ä½æ¯å®å¯ä»¥ä½¿ç¨ææå- 段ï¼èä¸ä»ä»æ¯è¢«ç´¢å¼çåæ®µï¼ã ç®åï¼å- æ¥è¯¢åèé表达å¼ä¹ä¸è½åºç°å¨WHEREéã

ç´¢å¼å®ä¹éçææå½æ°åæä½ç¬¦é½å¿é¡»æ¯immutableï¼ï¼ä¸åçï¼ä¹å°±æ¯è¯´ï¼ å®ä»¬çç»æå¿é¡»åªè½ä¾èµäºå®ä»¬çè¾å¥åæ°ï¼èå³ä¸è½ä¾èµä»»ä½å¤é¨çå½±åï¼æ¯å¦å¦å¤ä¸ä¸ªè¡¨çå容æèå½åæ¶é´ï¼ã è¿ä¸ªçº¦æç¡®ä¿è¯¥ç´¢å¼çè¡ä¸ºæ¯å®ä¹å®æ´çãè¦å¨ä¸ä¸ªç´¢å¼ä¸ä½¿ç¨ç¨æ·å®ä¹å½æ°ï¼è¯·è®°ä½å¨ä½å建å®çæ¶åæå®æè®°ä¸ºimmutableç彿°ã

PARAMETERS åæ°

UNIQUE

ä»¤ç³»ç»æ£æµå½ç´¢å¼å建æ¶ï¼å¦ææ°æ®å·²ç»å- å¨ï¼åæ¯æ¬¡æ·»å æ°æ®æ¶è¡¨ä¸æ¯å¦æéå¤å¼ã 妿æå¥ææ´æ°çå¼ä¼å¯¼è´éå¤çè®°å½æ¶å°çæä¸ä¸ªé误ã

name

è¦å建çç´¢å¼åãè¿éä¸è½å嫿¨¡å¼åï¼ ç´¢å¼æ»æ¯å¨åä¸ä¸ªæ¨¡å¼ä¸- ä½ä¸ºå¶ç¶è¡¨å建çã

table

è¦ç´¢å¼ç表åï¼å¯è½ææ¨¡å¼ä¿®é¥°ï¼ã

method

ç¨äºç´¢å¼çæ¹æ³çååãå¯éçå忝 btreeï¼ hashï¼rtreeï¼å gistãç¼ºçæ¹æ³æ¯ btreeã

column

表çå/åæ®µåã

expression

ä¸ä¸ªåºäºè¯¥è¡¨çä¸ä¸ªæå¤ä¸ªå段ç表达å¼ã è¿ä¸ªè¡¨è¾¾å¼é常å¿é¡»å¸¦ç忬弧åå´ååºï¼å¦è¯æ³ä¸æ¾ç¤ºé£æ ·ã ä¸è¿ï¼å¦æè¡¨è¾¾å¼æå½æ°è°ç¨çå½¢å¼ï¼é£ä¹åæ¬å¼§å¯ä»¥çç¥ã

opclass

ä¸ä¸ªå³èçæä½ç¬¦è¡¨ãåé䏿è·åç»èã

predicate

为ä¸ä¸ªé¨åç´¢å¼å®ä¹çº¦æè¡¨è¾¾å¼ã

NOTES 注æ

åé ‘‘Indexes’’ è·åæå³ä½æ¶ä½¿ç¨ç´¢å¼ï¼ä½æ¶ä¸ä½¿ç¨ç´¢å¼ï¼ 以ååªç§æåµä¸æ¯æç¨çä¿¡æ¯ã

ç®åï¼åªæ B-tree å gist ç´¢å¼æ¹æ³æ¯æå¤å段索å¼ã ç¼ºçæ¶æå¤å¯ä»¥å£°æ 32 个é®åï¼è¿ä¸ªéå¶å¯ä»¥å¨å¶ä½ PostgreSQL æ¶ä¿®æ¹ï¼ã ç®ååªæ B-tree æ¯æå¯ä¸ç´¢å¼ã

å¯ä»¥ä¸ºç´¢å¼çæ¯ä¸ªå/åæ®µå£°æä¸ä¸ª æä½ç¬¦è¡¨ã æä½ç¬¦è¡¨æ è¯å°è¦è¢«è¯¥ç´¢å¼ç¨äºè¯¥å/åæ®µçæä½ç¬¦ã ä¾å¦ï¼ ä¸ä¸ªååèæ´æ°ç B-tree ç´¢å¼å°ä½¿ç¨ int4_ops è¡¨ï¼ è¿ä¸ªæä½ç¬¦è¡¨åæ¬ååèæ´æ°çæ¯è¾å½æ°ã å®éä¸ï¼è¯¥åçæ°æ®ç±»åç缺çæä½ç¬¦è¡¨ä¸è¬å°±è¶³å¤äºã æäºæ°æ®ç±»åææä½ç¬¦è¡¨çåå æ¯ï¼å®ä»¬å¯è½æå¤äºä¸ä¸ªçææä¹ç顺åºã ä¾å¦ï¼æä»¬å¯¹å¤æ°ç±»åæåºæ¶æå¯è½ä»¥ç»å¯¹å¼æè以å®é¨ã æä»¬å¯ä»¥éè¿ä¸ºè¯¥æ°æ®ç±»åå®ä¹ä¸¤ä¸ªæä½ç¬¦è¡¨ï¼ç¶åå¨å»ºç«ç´¢å¼çæ¶åéæ©åéç表æ¥å®ç°ã æå³æä½ç¬¦è¡¨æ´å¤çä¿¡æ¯å¨ ‘‘Operator Classes’’ å ‘‘Interfacing Extensions to Indexes’’ éã

ä½¿ç¨ DROP INDEX [drop_index(7)] å é¤ä¸ä¸ªç´¢å¼ã

EXAMPLES ä¾å

å¨è¡¨filmsä¸ç titleåæ®µå建ä¸ä¸ª B-tree ç´¢å¼ï¼

CREATE UNIQUE INDEX title_idx ON films (title);

COMPATIBILITY å¼å®¹æ§

CREATE INDEX æ¯ PostgreSQL è¯è¨æ©å±ã å¨ SQL æ å䏿²¡æ CREATE INDEX å½ä»¤ã

è¯è

Postgresql 䏿ç½ç« ä½ä¼å¹³ <laser@pgsqldb.org>

è·

æ¬é¡µé¢ä¸æçç±ä¸æ man æå页计åæä¾ã
䏿 man æå页计åï¼https://github.com/man-pages-zh/manpages-zh