国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Oracle數據庫索引聚簇與哈希聚簇使用指南

瀏覽:140日期:2023-11-28 13:00:50
Oracle數據庫支持兩種類型的聚簇,分別是索引聚簇和哈希聚簇,本文將針對這兩種類型聚簇的使用進行詳細的介紹。

索引聚簇的使用:

◆對經常在連接語句中訪問的表建立聚簇。

◆假如表只是偶爾被連接或者它們的公共列經常被修改,則不要聚簇表。(修改記錄的聚簇鍵值比在非聚簇的表中修改此值要花費更多的時間,因為Oracle必須將修改的記錄移植到其他的塊中以維護聚簇)。

◆假如經常需要在一個表上進行完全搜索,則不要聚簇這個表(對一個聚簇表進行完全搜索比在非聚簇表上進行完全搜索的時間長,Oracle可能要讀更多的塊,因為表是被一起存儲的。)

◆假如經常從一個父表和相應的子表中查詢記錄,則考慮給1對多(1:*)關系創建聚簇表。(子表記錄存儲在與父表記錄相同的數據塊中,因此當檢索它們時可以同時在內存中,因此需要Oracle完成較少的I/O)。

◆假如經常查詢同一個父表中的多個子記錄,則考慮單獨將子表聚簇。(這樣提高了從相同的父表查詢子表記錄的性能,而且也沒有降低對父表進行完全搜索的性能)。

◆假如從所有有相同聚簇鍵值的表查詢的數據超過一個或兩個Oracle塊,則不要聚簇表。(要訪問在一個聚簇表中的記錄,Oracle讀取所有包含那個記錄值的全部數據塊,如果記錄占據了多個數據塊,則訪問一個記錄需要讀的次數比一個非聚簇的表中訪問相同的記錄讀的次數要多)。

哈希聚簇的使用:

◆當經常使用有相同列的包含相等條件的查詢子句訪問表時,考慮使用哈希聚簇來存儲表。使用這些列作為聚簇鍵。

◆如果可以確定存放具有給定聚簇鍵值的所有記錄所需的空間(包括現在的和將來的),則將此表以哈希聚簇存儲。

◆如果空間不夠,并且不能為將要插入的新記錄分配額外的空間,那么不要使用哈希聚簇。

◆如果偶爾創建一個新的、很大的哈希聚簇來保存這樣的表是不切實際的,那么不要用哈希聚簇存儲經常增長的表。

◆如果經常需要進行全表搜索,并且必須要為表的預期增長中的哈希聚簇分配足夠的空間,則不要將此表以哈希聚簇存儲。(這樣的完全檢索必須要讀分配給哈希聚簇的全部塊,即使有些塊可能只包含很少的記錄。單獨地存儲表將減少由完全的表檢索讀取的塊的數量。)

◆如果你的應用程序經常修改聚簇鍵的值,則不要將表以哈希聚簇方式存儲。

◆不論這個表是否經常與其他表連接,只要進行哈希對于基于以前的指南的表合適,那么在哈希聚簇中存儲一個表則是有用的。

標簽: Oracle 數據庫
主站蜘蛛池模板: 彰武县| 浪卡子县| 威信县| 卢龙县| 永登县| 叙永县| 甘南县| 河西区| 蒙城县| 吉林市| 义乌市| 满城县| 平谷区| 当涂县| 海伦市| 乌苏市| 淮南市| 襄汾县| 黎川县| 卢氏县| 运城市| 项城市| 皮山县| 沂源县| 团风县| 无极县| 长泰县| 通榆县| 汝南县| 雷山县| 德昌县| 临沂市| 读书| 钟山县| 五家渠市| 成都市| 朝阳区| 即墨市| 咸丰县| 庆阳市| 洛宁县|