<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    zhyiwww
    用平實(shí)的筆,記錄編程路上的點(diǎn)點(diǎn)滴滴………
    posts - 536,comments - 394,trackbacks - 0

    CREATE INDEX

    Name

    CREATE INDEX — 構(gòu)造一個(gè)從索引
    CREATE [ UNIQUE ] INDEX index_name ON table
        [ USING acc_name ] ( column [ ops_name ] [, ...] )
    CREATE [ UNIQUE ] INDEX index_name ON table
        [ USING acc_name ] ( func_name( column [, ... ]) [ ops_name ] )
      

    輸入

    UNIQUE

    令系統(tǒng)檢測(cè)當(dāng)索引創(chuàng)建時(shí)(如果數(shù)據(jù)已經(jīng)存在) 和每次添加數(shù)據(jù)時(shí)表中是否有重復(fù)值.如果插入或更新的值 會(huì)導(dǎo)致重復(fù)的記錄時(shí)將生成一個(gè)錯(cuò)誤.

    index_name

    要?jiǎng)?chuàng)建的索引名.

    table

    要索引的表名.

    acc_name

    用于索引的訪問模式.缺省訪問模式是 BTREE. Postgres 提供三種用于從索引的訪問模式:

    BTREE

    一個(gè) Lehman-Yao 高度并發(fā) btrees 的實(shí)現(xiàn).

    RTREE

    用 Guttman 分裂法做的標(biāo)準(zhǔn) rtrees 的實(shí)現(xiàn).

    HASH

    一個(gè)Litwin 線性哈希(散列)法的實(shí)現(xiàn).

    column

    表的列/字段名.

    ops_name

    一個(gè)關(guān)聯(lián)的操作符表.參閱下文獲取細(xì)節(jié)。

    func_name

    一個(gè)函數(shù),其返回值可被索引.

    輸出

    CREATE

    索引成功創(chuàng)建的返回信息.

    ERROR: Cannot create index: 'index_name' already exists.

    如果不能創(chuàng)建索引,返回此信息.

    描述

    CREATE INDEX 在指定的表 table 上構(gòu)造一個(gè)名為 index_name 的索引.

    小技巧: 索引主要用來提高數(shù)據(jù)庫性能.但是如果不恰當(dāng)?shù)氖褂脤?dǎo)致性能的下降.

    在上面第一個(gè)語法里,索引的鍵字以列/字段名聲明. 如果索引的訪問模式支持多列索引,我們也可以聲明多個(gè)字段.

    在上面顯示的第二種語法中,索引是以用戶定義的函數(shù) func_name 的結(jié)果定義的, 該函數(shù)應(yīng)用于一個(gè)表的一個(gè)或多個(gè)字段. 這些函數(shù)索引(functional indices) 可用于獲取更快的數(shù)據(jù)訪問速度, 尤其在這些數(shù)據(jù)的操作是基于一些需要做一定轉(zhuǎn)換才能應(yīng)用基本數(shù)據(jù)的操作符時(shí).

    Postgres 為從索引提供 btree,rtree 和 hash(散列)訪問模式。 btree 訪問模式是一個(gè) Lehman-Yao 高并發(fā) btrees 的實(shí) 現(xiàn)。rtree 訪問模式用 Guttman 的二次分裂算法實(shí)現(xiàn)了標(biāo)準(zhǔn)的 rtrees。 hash(散列)訪問模式是 Litwin 的線性散列的一個(gè)實(shí)現(xiàn)。 我們單獨(dú)的列出這些所用的算法是要表明所有這些訪問模式 都是完全動(dòng)態(tài)的并且不必進(jìn)行周期性的優(yōu)化(例如,象 靜態(tài)散列算法常見的那樣)。

    使用 DROP INDEX 刪除一個(gè)索引.

    注意

    當(dāng)一個(gè)索引了的字段涉及到使用: <, <=, =, >=, > 之一進(jìn)行比較時(shí), Postgres 的查詢優(yōu)化器將考慮在掃描中使用btree 索引。

    當(dāng)一個(gè)索引了的字段涉及到使用: <<, &<, &>, >>, @, ~=, && 之一進(jìn)行比較時(shí), Postgres 的查詢優(yōu)化器將考慮在掃描中使用 rtree 索引。

    當(dāng)一個(gè)索引了的字段涉及到使用 = 操作符 進(jìn)行比較時(shí), Postgres 的查詢優(yōu)化器將考慮在掃描中使用散列(hash)索引。

    目前,只有 btree 訪問模式支持多字段索引。 缺省時(shí)最多可以聲明 16 個(gè)鍵字(這個(gè)限制可以在制作 Postgres 時(shí)修改).

    可以為索引的每個(gè)列/字段聲明一個(gè) 操作符表. 操作符表標(biāo)識(shí)將要被該索引用于該列/字段的操作符. 例如, 一個(gè)4-字節(jié)整數(shù)的 btree 索引將使用 int4_ops 表; 這個(gè)操作符表包括4-字節(jié)整數(shù)的比較函數(shù). 實(shí)際上,該域的數(shù)據(jù)類型的缺省操作符表一般就足夠了. 某些數(shù)據(jù)類型有操作符表的原因是,它們可能有多于一個(gè)的有意義的順序. 例如,我們對(duì)復(fù)數(shù)類型排序時(shí)有可能以絕對(duì)值或者以實(shí)數(shù)部分. 我們可以通過為該數(shù)據(jù)類型定義兩個(gè)操作符表,然后在建立索引的時(shí)候選擇 合適的表來實(shí)現(xiàn).還有些操作符表有特殊的用途:

    • 操作符表 box_opsbigbox_ops 都支持對(duì) box 數(shù)據(jù)類型的 rtree 索引. 兩者的區(qū)別是 bigbox_ops 方形的坐標(biāo)按比例縮小, 以避免在對(duì)非常大的浮點(diǎn)數(shù)坐標(biāo)做乘法,加法和減法時(shí)出現(xiàn)浮點(diǎn)例外。 如果你的方形所在 的范圍的大小是 20,000 單位的平面或更大,你應(yīng)該用 bigbox_ops.

    下面的查詢顯示所有已定義的操作符表:

    SELECT am.amname AS acc_name,
           opc.opcname AS ops_name,
           opr.oprname AS ops_comp
        FROM pg_am am, pg_amop amop,
             pg_opclass opc, pg_operator opr
        WHERE amop.amopid = am.oid AND
              amop.amopclaid = opc.oid AND
              amop.amopopr = opr.oid
        ORDER BY acc_name, ops_name, ops_comp
        

    用法

    在表films上的 title字段創(chuàng)建一個(gè) btree 索引:

    CREATE UNIQUE INDEX title_idx
        ON films (title);
      

    兼容性

    SQL92

    CREATE INDEX 是 Postgres 語言擴(kuò)展.

    在 SQL92 中沒有 CREATE INDEX 命令.



    |----------------------------------------------------------------------------------------|
                               版權(quán)聲明  版權(quán)所有 @zhyiwww
                引用請(qǐng)注明來源 http://m.tkk7.com/zhyiwww   
    |----------------------------------------------------------------------------------------|
    posted on 2006-06-02 18:50 zhyiwww 閱讀(394) 評(píng)論(0)  編輯  收藏 所屬分類: database
    主站蜘蛛池模板: 57pao一国产成视频永久免费| 亚洲а∨精品天堂在线| 国产高清对白在线观看免费91| 免费精品一区二区三区在线观看| 亚洲乱码一区av春药高潮| 曰批视频免费40分钟试看天天 | 免费观看毛片视频| 国产成人亚洲综合一区| 成人毛片视频免费网站观看| 亚洲色欲色欲www| 女人被男人躁的女爽免费视频| 亚洲午夜无码久久久久软件| 全免费A级毛片免费看网站| 亚洲国产精品无码久久| 免费a级毛片无码av| igao激情在线视频免费| 国产成人无码综合亚洲日韩| 无码精品国产一区二区三区免费 | 亚洲国产精品免费观看 | 亚洲JIZZJIZZ中国少妇中文| 男人和女人高潮免费网站| 久久精品国产精品亚洲| 暖暖免费日本在线中文| 亚洲成a人片在线观看中文app| 毛片a级毛片免费观看品善网 | 污视频网站在线免费看| 美腿丝袜亚洲综合| 91精品国产免费久久国语蜜臀| 亚洲av午夜精品无码专区| 四虎AV永久在线精品免费观看| a级毛片免费高清视频| 亚洲国产精品久久久久婷婷老年 | 无码不卡亚洲成?人片| 韩国免费A级毛片久久| 亚洲专区在线视频| 国产精品免费_区二区三区观看| sss在线观看免费高清| 亚洲欧洲高清有无| 亚洲AV日韩精品一区二区三区| 免费国产99久久久香蕉| 亚洲熟女精品中文字幕|