伸进女同桌乳沟里摸爽了,小雪解开乳罩给老杨摸,少妇被按摩师摸高潮了,亲嘴扒胸摸屁股激烈视频,强摸秘书人妻大乳BD,摸BBB揉BBB揉BBB视频

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> 數(shù)據(jù)庫開發(fā) >> 文章正文

聚簇索引的概念

1.聚簇是根據(jù)碼值找到數(shù)據(jù)的物理存儲位置,從而達到快速檢索數(shù)據(jù)的目的。聚簇索引的順序就是數(shù)據(jù)的物理存儲順序,葉節(jié)點就是數(shù)據(jù)節(jié)點。非聚簇索引的順序與數(shù)據(jù)物理排列順序無關(guān),葉節(jié)點仍然是索引節(jié)點,只不過有一個指針指向?qū)?yīng)的數(shù)據(jù)塊。一個表最多只能有一個聚簇索引。 但是建立聚簇索引的空間耗費比較大 對以后的增加刪除的影響比較大,所以要在有必要的情況下用
 2. 使用 Oracle 聚簇索引

  聚簇是一種存儲表的方法,這些表密切相關(guān)并經(jīng)常一起連接進磁盤的同一區(qū)域。例如,表 BOOKSHELF 和BOOKSHELF_AUTHOR 數(shù)據(jù)行可以一起插入到稱為簇(Cluster)的單個區(qū)域中,而不是將兩個表放在磁盤上的不同扇區(qū)上。簇鍵(Cluster Key)可以是一列或多列,通過這些列可以將這些表在查詢中連接起來(例如,BOOKSHELF表和BOOKSHELF_AUTHOR表中的 Title列)。為了將表聚集在一起,必須擁有這些將要聚集在一起的表。

  下面是create cluster命令的基本格式:

create cluster (column datatype [, column datatype]...) [other options];


  cluster的名字遵循表命名約定,column datatype是將作為簇鍵使用的名字和數(shù)據(jù)類型。column的名字可以與將要放進該簇中的表的一個列名相同,或者為其他有效名字。下面是一個例子:

create cluster BOOKandAUTHOR (Col1 VARCHAR2(100));


  這樣就建立了一個沒有任何內(nèi)容的簇(象給表分配了一塊空間一樣)。COL1的使用對于簇鍵是不相干的,不會再使用它。但是,它的定義應(yīng)該與要增加的表的主鍵相符。接下來,建立包含在該簇中的表:

create table BOOKSHELF
  (Title VARCHAR2(100) primary key,
  Publisher VARCHAR2(20),
  CategoryName VARCHAR2(20),
  Rating VARCHAR2(2),
  constraint CATFK foreign key (CategoryName) references CATEGORY(CategoryName)
  )
  cluster BOOKandAUTHOR(Title);


  在向BOOKSHELF表中插入數(shù)據(jù)行之前,必須建立一個聚簇索引:

create index BOOKandAUTHORndx on cluster BOOKandAUTHOR;


  在上面的create table語句中,簇BOOKandAUTHOR(Title)子句放在表的列清單的閉括號的后面。BOOKandAUTHOR是前面建立的聚簇的名字。Title是將存儲到聚簇Col1中的該表的列。create cluster語句中可能會有多個簇鍵,并且在created table語句中可能有多個列存儲在這些鍵中。請注意,沒有任何語句明確說明Title列進入到Col1中。這種匹配僅僅是通過位置做到的,即Col1和Title都是在它們各自的簇語句中提到的第一個對象。多個列和簇鍵是第一個與第一個匹配,第二個與第二個匹配,第三個與第三個匹配,等等,F(xiàn)在,添加第二個表到聚簇中:

create table BOOKSHELF_AUTHOR
  (Title VARCHAR2(100),
  AuthorName VARCHAR2(50),
  constraint TitleFK Foreign key (Title) references BOOKSHELF(Title),
  constraint AuthorNameFK Foreign key (AuthorName) references AUTHOR(AuthorName)
  )
  cluster BOOKandAUTHOR (Title);


  當這兩個表被聚在一起時,每個唯一的Title在簇中實際只存儲一次。對于每個Title,都從這兩個表中附加列。

  來自這兩個表的數(shù)據(jù)實際上存放在一個位置上,就好像簇是一個包含兩個表中的所有數(shù)據(jù)的大表一樣。

  3. 散列聚簇

  對于散列聚簇,它只有一個表。它通過散列算法求出存儲行的物理存儲位置,從而快速檢索數(shù)據(jù)。創(chuàng)建散列聚簇時要指定碼列的數(shù)據(jù)類型,數(shù)據(jù)行的大小及不同碼值的個數(shù)。如果碼值不是平均分布的,就可能有許多行存儲到溢出塊上,從而會降低查詢該表的SQL語句的性能。散列聚簇被用在總是通過主鍵查詢數(shù)據(jù)的情況,例如要從表 T 查詢數(shù)據(jù)并且查詢語句總是是這樣:

select * from T where id = :x;


  這時散列聚簇是一個好的選擇,因為不需要索引。Oracle 將通過散列算法得到值 :x 所對應(yīng)的物理地址,從而直接取到數(shù)據(jù)。不用進行索引掃描,只通過散列值進行一次表訪問。

  散列聚簇語法示例:

CREATE CLUSTER personnel
  ( department_number NUMBER )
  SIZE 512 HASHKEYS 500
  STORAGE (INITIAL 100K NEXT 50K);
  CREATE CLUSTER personnel
  ( home_area_code NUMBER,
  home_prefix NUMBER )
  HASHKEYS 20
  HASH IS MOD(home_area_code + home_prefix, 101);
  CREATE CLUSTER personnel
  (deptno NUMBER)
  SIZE 512 SINGLE TABLE HASHKEYS 500;

 

 

作者:未知 | 文章來源:未知 | 更新時間:2007-11-2 16:21:48

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    沒有相關(guān)文章
    軟件技術(shù)
    · 開發(fā)語言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫開發(fā)
    最新文章  
    ·Domino平臺的優(yōu)缺點分析
    ·oracle不能連接本地庫的解
    ·使用經(jīng)驗整理-TestDirecto
    ·學(xué)習(xí)sqlserver數(shù)據(jù)庫的維度
    ·sqlserver 多用戶并發(fā)中如
    ·丟失日志文件后數(shù)據(jù)庫還能
    ·人工智能在數(shù)據(jù)庫sql語句編
    ·數(shù)據(jù)庫學(xué)習(xí):Oracle應(yīng)用程
    ·基礎(chǔ)知識:軟件測試的要點
    ·技術(shù)文章:sqlserver 2008
    ·SQL Server虛擬內(nèi)存和物理
    ·在MySQL中 describe命令怎
    ·怎樣解決視圖刷新時出現(xiàn)的
    ·如果忘記了MySQL的root用戶
    ·基礎(chǔ)學(xué)習(xí):基于SQL的sysob
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) m.zgna.net All Rights Reserved 新ICP備14003571號
    新疆軟件開發(fā)總機:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    原阳县| 芜湖县| 景东| 海南省| 应城市| 怀安县| 德令哈市| 泸水县| 兴化市| 五华县| 嘉黎县| 三台县| 沐川县| 繁峙县| 黎川县| 延川县| 赤水市| 徐汇区| 定陶县| 成都市| 和政县| 阿勒泰市| 竹山县| 蓝山县| 鹤山市| 新和县| 辽宁省| 大丰市| 邯郸市| 祁门县| 泸水县| 华容县| 平潭县| 金塔县| 平舆县| 酉阳| 定远县| 清水河县| 苍南县| 北票市| 娱乐|