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

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

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

    Decode360's Blog

    業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      302 隨筆 :: 26 文章 :: 82 評論 :: 0 Trackbacks
    一、管理準則
    ?
    ??? Oracle的索引可以更快的定位信息,提供訪問表的數據的更快路徑。索引的種類有:
    ?
    ??? ● B-Tree索引:默認的最常用索引
    ??? ● B-Tree簇索引:特意為簇定義的索引
    ??? ●? 散列值索引:特意為散列簇定義的索引
    ??? ● 全局和局部索引:相應于分區表的索引
    ??? ● 逆轉值索引:特別適用于Oracle真實應用簇的應用
    ??? ● 位圖索引:緊湊的,特別適用于少量值集的列
    ??? ● 基于函數的索引:包含函數/表達式的預先計算的值
    ??? ● 域索引:特別針對應用或插件
    ?
    ??? 索引的管理準則包括:
    ?
    ??? ① 在表中插入數據后創建索引
    ?
    ??? ② 索引正確的表和列
    ?
    ??? * 如需經常檢索大表中少于15%的行,則創建索引(百分比值與掃描速度有關)
    ??? * 改善多個表聯結性能創建索引。特別是外鍵需要創建索引。
    ??? * 小表不需要索引
    ??? * 列中的值比較唯一適合創建所以
    ??? * 取值范圍大(適合作常規索引)
    ??? * 取值范圍小(適合作位圖索引)
    ??? * 列中有許多空值,但經常查詢所有具有值的行適合創建索引
    ????* 列中有許多空值,但又不查詢非空值適合創建索引
    ??? 注:查詢非空值,用 WHERE COL > -9.99 * power(10,125) 效果要比 WHERE COL IS NOT NULL 好,因為可以使用索引。
    ?
    ??? ③ 調整索引列位置( 常用列放在最前面)
    ?
    ??? ④ 限制每個表的索引數量
    ?
    ??? ⑤ 刪除不需要的索引(重建索引前必須先刪除索引)
    ?
    ??? ⑥ 指定索引數據塊空間使用
    ?
    ??? ⑦ 估計索引大小,設置存儲參數
    ?
    ??? ⑧ 為每個索引指定表空間
    ?
    ??? ⑨ 考慮并行創建索引
    ?
    ??? ⑩ 考慮用NOLOGGING創建索引
    ?
    ??? ⑾ 考慮合并或重建索引時的損益
    ?
    ??? ⑿ 停用或刪除約束之前考慮開銷
    ?
    ?
    二、創建索引
    ?
    1、明確地創建索引
    ?
    ??? CREATE INDEX emp_ename ON emp(ename)
    ??? TABLESPACE users
    ??? STORAGE (INITIAL 20K
    ??? NEXT 20K
    ??? PCTINCREASE 75)
    ??? PCTFREE 0;
    ?
    ??? 注:索引創建時不能指定PCTUSED參數。
    ?
    2、明確得創建唯一索引
    ?
    ??? 唯一索引可以保證鍵列上表不會有兩行重復的值。
    ?
    ??? CREATE UNIQUE INDEX dept_unique_index ON dept(dname)
    ??? TABLESPACE indx;
    ?
    3、創建與約束相關的索引
    ?
    ??? 在創建UNIQUE KEY或PRIMARY KEY時,會自動創建一個唯一索引,以確保數據的完整性。在使用CREATE TABLE或ALTER TABLE時不需要用戶進行操作,但是用戶可以使用USING INDEX子句來對創建實施控制。
    ?
    ??? CREATE TABLE emp (
    ??? empno NUMBER(5) PRIMARY KEY,
    ??? age INTEGER)
    ??? ENABLE PRIMARY KEY USING INDEX
    ??? TABLESPACE users
    ??? PCTFREE 0;
    ?
    ??? 當要對UNIQUE和PRIMARY KEY約束相關索引進行更明確的控制時:
    ?
    ??? 例1:
    ??? CREATE TABLE a (
    ??? a1 INT PRIMARY KEY USING INDEX (create index ai on a(a1)));
    ?
    ??? 例2:
    ??? CREATE TABLE b (
    ??? b1 INT,
    ??? b2 INT,
    ??? CONSTRAINT bu1 UNIQUE (b1,b2)
    ??? USING INDEX (create unique index bi on b(b1,b2)),
    ??? CONSTRAINT bu2 UNIQUE (b2,b1) USING INDEX bi);
    ?
    ??? 例3:
    ??? CREATE TABLE c(c1 INT, c2 INT);
    ??? CREATE INDEX ci ON c(c1,c2);
    ??? ALTER TABLE c ADD CONSTRAINT cpk PRIMARY KEY (c1) USING INDEX ci;
    ?
    4、采集創建索引時伴隨的統計數據
    ?
    ??? CREATE INDEX emp_ename ON emp(ename)
    ??? COMPUTE STATISTICS;
    ?
    5、創建大索引
    ?
    ??? ① 創建一個新的臨時表空間
    ??? ② 將用戶默認臨時表空間設置為新建的表空間
    ??? ③ 創建索引
    ??? ④ 刪除表空間,并將用戶的臨時表空間更改過來
    ?
    6、聯機創建索引
    ?
    ??? 可以用聯機創建索引的辦法,使得創建時仍可更改基礎表
    ?
    ??? CREATE INDEX emp_name ON emp (mgr,emp1,emp2,emp3) ONLINE;
    ?
    ??? 注:可是使用DML,但不能使用DDL,而且不支持并行執行。
    ?
    7、創建基于函數的索引
    ?
    ??? 特點:
    ??? ● 創建更強有力的分類
    ??? ● 預先計算出計算密集的函數值,并在索引中分類
    ??? ● 則加優化器執行范圍掃描而不是全表掃描的數量
    ??? ● 真正的降序索引成為可能
    ??? ● 在對象列和REF列上創建索引
    ?
    ??? 注:在創建基于函數的索引之后,必須ANALYZE分析表。
    ?
    ??? CREATE INDEX empi ON emp
    ??? UPPER((ename),NLSSORT(ename));
    ?
    8、創建鍵壓縮索引
    ?
    ??? CREATE INDEX emp_name ON emp(ename)
    ??? TABLESPACE users
    ??? COMPRESS 1;
    ?
    ??? 可以使用以下語句停用壓縮:
    ??? ALTER INDEX emp_ename REBUILD NOCOMPRESS;
    ?
    ?
    ?
    ?
    ?




    -The End-

    posted on 2009-02-13 21:04 decode360-3 閱讀(238) 評論(0)  編輯  收藏 所屬分類: DBA
    主站蜘蛛池模板: 曰批免费视频播放在线看片二| 中文字幕在线成人免费看| 日韩激情淫片免费看| 日韩免费观看视频| 乱淫片免费影院观看| 四虎成人免费大片在线| 国产A∨免费精品视频| 67pao强力打造67194在线午夜亚洲 | 久久久久久精品成人免费图片| 国产亚洲精品自在久久| 国产色爽免费无码视频| 久久久久亚洲AV成人网人人网站| 一区二区三区免费电影| 亚洲精品美女久久久久| 麻豆高清免费国产一区| 国产成人精品亚洲一区| 亚洲国产人成精品| 亚洲第一网站免费视频| 一级一黄在线观看视频免费| 亚洲AV无码精品蜜桃| 我想看一级毛片免费的| 伊人久久大香线蕉免费视频| 久久久亚洲精品视频| 2019中文字幕免费电影在线播放| 色偷偷亚洲男人天堂| 在线亚洲精品自拍| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 今天免费中文字幕视频| 中文字幕亚洲第一在线| 亚洲精品无码成人片在线观看 | 精品97国产免费人成视频 | 国产精品免费看久久久香蕉| 国产午夜亚洲精品| 亚洲男人的天堂在线播放| 夜色阁亚洲一区二区三区| 日韩精品无码免费专区网站| 美国毛片亚洲社区在线观看 | 亚洲日韩一区精品射精| 亚洲真人日本在线| 50岁老女人的毛片免费观看| 中国videos性高清免费|