6.1(續)索引、索引組織表--Oracle模式對象

来源:http://www.cnblogs.com/jionjionyou/archive/2016/05/26/5533017.html
-Advertisement-
Play Games

索引的基本概念: (1).要理解索引,可以把書作為一個模型類比。一本書里的內容,相當於一張大表存儲的數據,而書前面的目錄就相當於這個表的索引; (2).索引可以擁有獨立的存儲磁碟空間; (3).索引占用的磁碟空間要比表小的多,其主要作用是為了加快對數據的搜索速度; (4).同時可以保證數據的唯一性。 ...


索引的基本概念:

(1).要理解索引,可以把書作為一個模型類比。一本書里的內容,相當於一張大表存儲的數據,而書前面的目錄就相當於這個表的索引;

(2).索引可以擁有獨立的存儲磁碟空間;

(3).索引占用的磁碟空間要比表小的多,其主要作用是為了加快對數據的搜索速度;

(4).同時可以保證數據的唯一性。

 

索引的類型:可分為B樹索引(B-Tree)點陣圖索引(bitmap)反向鍵索引(reverse)基於函數的索引

 

B樹索引(B-Tree)

樹形結構,每個葉子節點中都包括索引列的值和記錄行對應的物理地址ROWID(鍵值ROWID)

採用B樹索引可以確保無論索引條目位於何處,Oracle都需要花費相同的I/O就可以獲取它。

--例如:1001 rowid

--創建普通索引

create index employee_ix_ename on employee(ename);

--創建唯一索引

create unique index employee_UQ_eid on employee(eid);

--創建符合索引

create index employee_ix_ns on employ(ename,esex);

 

--註意:符合索引中的列,通常將在查詢語句的where子句中經常使用的列放在前面。

 

點陣圖索引(bitmap)

基數較小,且基數相對穩定的列建立索引時,首先考慮點陣圖索引;

--例如:“性別”列的取值一般只有男、女,類似這樣的列基數穩定且較小。

create bitmap employee_ix_esex on employ(esex);

 

反向鍵索引(reverse)

也叫翻轉索引,是一種特殊的B樹索引,適用於在含有序列數的列上創建。

--例如:索引鍵為2009,反向鍵索引將其翻轉成9002.

create index employee_ix_eid on employee(eid) reverse;

 

基於函數的索引:

常用與UPPER、LOWER、TO_CHAR(date)等函數分類上

--創建基於to_char()的函數索引

create index employee_ix_func on employee(to_char(edate,'yyyy-mm-dd'));

 

管理索引:合併、重建、監視、刪除

隨著表不斷更新,插入、更新數據,表的索引會產生越來越多的存儲碎片,這會影響索引的使用效率。

--合併索引,釋放空間

alter index employee_ix_ename coalesce deallocate unused;

 

--重建索引,實際上是在表空間中重新建立一個新的索引,然後刪除原來的索引

alter index employee_ix_ename rebuild;

 

--監視索引,打開索引的監視狀態後,可查看V$object_usage

----打開

alter index employee_ix_ename monitoring usage;

----關閉

alter index employee_ix_ename nomonitoring usage;

 

--刪除索引

Drop index employee_ix_ename;

 

 

索引組織表(Index Organized Table,IOT)

不像普通的表直接採用堆組織方式將記錄無序地存放在數據段中;

而採用類似B樹索引的索引組織方式將記錄按照某個鍵列進行排序後,再以B樹方式存在數據段中。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一,效果圖。 二,代碼。 RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController : UIViewController @end RootViewController.m #import "RootView ...
  • 如果要相容IOS8在IOS中實現本地推送,關鍵是要註意:ios8在實現本地推送時需要通過如下語句進行註冊。 [[UIApplication sharedApplication] registerUserNotificationSettings:mySettings]; 至於IOS8之前版本的做法就不 ...
  • 樣例和圖解 外框:整體大小 ↑ 邊框:圖標留白大小 ↓ 圖標:外圖標的大小 ↑ 陰影:陰影特效大小 ↓ 圖形:內圖標的大小 ↑ 可選視圖權重:使用兩種類型的圖形尺寸可以達到統一的視覺權重(可選), 一般是針對圖標有凸出的情況,會有一個內部會有一個更小的尺寸大小 ↓ 可選圖形:第二種圖形尺寸(可選) ...
  • ListView是android開發中使用最普遍的控制項了,可有的listView條目的內容頗為豐富,甚至為了美觀,背景用指定圖片,如下圖: 或許有人說了,很簡單啊就是佈局複雜了一些嘛,再把北京換一下不就OK了麽? 這個思路的確是對得,但是運行結果會是這樣的狀態: 於是就開始各種調margin啊 pa ...
  • dispatch_once dispatch_once可以保證一段代碼只被執行一次,因此出現之後使用最多的場景就是實現單例。本文來模擬實現dispatch_once的功能。 模擬dispatch_once 直接上代碼 static NSMutableDictionary lockMapping = ...
  • 今天在嘗試使用MediaPlayer播放音樂時出了一個問題,在使用 這行代碼為MediaPlayer設置要播放的音樂地址時,代碼執行到這一行總是會報錯,錯誤信息為:setDataSource failed 一下子就懵逼了,為何會failed沒說啊,在網上查了些資料各種嘗試後沒什麼用,後來改用其中的一 ...
  • 今天跟著黑馬視頻建立一個android app--電話撥號器 首先新建一個android項目 activity_main_xml中的代碼如下: 運行一下: 可以看到佈局出現問題,文字出現重疊,簡單的解決方法如下: 界面如下所示: MainActivity中添加下麵的代碼: 撥打電話後,出現如下異常: ...
  • 使用指定資料庫 use v4base 建一張表 / 小區主檔記錄,要保證與OrgLevelUnit同步 / IF not exists(SELECT OBJECT_NAME (id )FROM sysobjects WHERE xtype = 'U' AND OBJECTPROPERTY (id, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...