国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【SQL應(yīng)知應(yīng)會】索引 ? Oracle版:B-樹索引;位圖索引;函數(shù)索引;單列與復(fù)合索引;分區(qū)索引

這篇具有很好參考價(jià)值的文章主要介紹了【SQL應(yīng)知應(yīng)會】索引 ? Oracle版:B-樹索引;位圖索引;函數(shù)索引;單列與復(fù)合索引;分區(qū)索引。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【SQL應(yīng)知應(yīng)會】索引 ? Oracle版:B-樹索引;位圖索引;函數(shù)索引;單列與復(fù)合索引;分區(qū)索引,sql,oracle,b樹,數(shù)據(jù)庫,大數(shù)據(jù),面試,mysql

歡迎來到愛書不愛輸?shù)某绦蛟车牟┛? 本博客致力于知識分享,與更多的人進(jìn)行學(xué)習(xí)交流

本文免費(fèi)學(xué)習(xí),自發(fā)文起3天后,會收錄于SQL應(yīng)知應(yīng)會專欄,本專欄主要用于記錄對于數(shù)據(jù)庫的一些學(xué)習(xí),有基礎(chǔ)也有進(jìn)階,有MySQL也有Oracle

【SQL應(yīng)知應(yīng)會】索引 ? Oracle版:B-樹索引;位圖索引;函數(shù)索引;單列與復(fù)合索引;分區(qū)索引,sql,oracle,b樹,數(shù)據(jù)庫,大數(shù)據(jù),面試,mysql

前言

?今天繼續(xù)SQL的索引的第 4 篇文章,主要講到了Oracle的索引:從有哪些索引出發(fā),到索引的使用原則,針對每種索引進(jìn)行創(chuàng)建演示,最后是分區(qū)索引的認(rèn)識和使用
??文章中提供了代碼和很具體的截圖,代碼是為了減輕大家學(xué)習(xí)的難度,同時(shí)用截圖可以更形象的讓大家去理解知識點(diǎn)想要表達(dá)的意思,希望大家跟著一起學(xué)起來
??希望文章的內(nèi)容對大家有所幫助,如果有什么不足的地方,大家可以在評論區(qū)或者私信我,感謝大家的支持
??那么,快拿出你的電腦,跟著文章一起學(xué)習(xí)起來吧

一、Oracle索引

1.索引概述及分類

  • 索引是一種提高數(shù)據(jù)檢索效率的數(shù)據(jù)庫對象, 能夠?yàn)閿?shù)據(jù)的查詢提供快捷的存取路徑, 減少磁盤 I/O。

  • 雖然索引是基于表而建立的, 但索引并不依賴于表。

  • 索引由系統(tǒng)自動維護(hù)和使用,不需要用戶參與。

  • Oracle 數(shù)據(jù)庫為了提高數(shù)據(jù)檢索性能, 提供了多種類型的索引, 以滿足不同的應(yīng)用需求。

B-樹索引

  • 按平衡樹結(jié)構(gòu)組織的索引, 是最常用的索引, 也是默認(rèn)創(chuàng)建的索引類型。
  • B-樹索引占用空間多, 適合索引值取值范圍廣( 基數(shù)大) 、 重復(fù)率低的應(yīng)用。

位圖索引

  • 按位圖結(jié)構(gòu)組織的索引, 適合索引值取值范圍?。?基數(shù)?。?, 重復(fù)率高的應(yīng)用。

函數(shù)索引

  • 基于包含索引列的函數(shù)或表達(dá)式創(chuàng)建的索引( 索引值為計(jì)算后的值)。

唯一性索引與非唯一性索引

  • 唯一性索引是索引值不重復(fù)的索引, 非唯一性索引是索引值可以重復(fù)的索引。 在默認(rèn)情況下, Oracle 創(chuàng)建的索引是非唯一性索引。 當(dāng)在表中定義主鍵約束或唯一性約束時(shí), Oracle 會自動在相應(yīng)列上創(chuàng)建唯一性索引。

單列索引與復(fù)合索引

  • 索引可以創(chuàng)建在一個(gè)列上, 也可以創(chuàng)建在多個(gè)列上。 創(chuàng)建在一個(gè)列上的索引稱為單列索引, 創(chuàng)建在多個(gè)列上的索引稱為復(fù)合索引。

2. 索引使用原則

由于索引作為一個(gè)獨(dú)立的數(shù)據(jù)庫對象存在, 占用存儲空間, 并且需要系統(tǒng)進(jìn)行維護(hù), 因此索引的使用需要遵循下列原則:

  • 導(dǎo)入數(shù)據(jù)后再創(chuàng)建索引

  • 在適當(dāng)?shù)谋砗土猩蟿?chuàng)建適當(dāng)?shù)乃饕?/p>

  • 如果經(jīng)常查詢的記錄數(shù)目少于表中記錄總數(shù)的5%時(shí)就應(yīng)當(dāng)創(chuàng)建索引;
  • 如果經(jīng)常進(jìn)行連接, 應(yīng)該在連接列上建立索引;
  • 對于取值范圍很大的列應(yīng)當(dāng)創(chuàng)建 B 樹索引, 而對于取值范圍很小的列應(yīng)當(dāng)創(chuàng)建位圖索引
  • 合理設(shè)置復(fù)合索引中列的順序, 應(yīng)將頻繁使用的列放在其他列的前面

  • 限制表中索引的數(shù)目。 表中索引數(shù)目越多, 查詢速度越快, 但表的更新速度越慢

  • 選擇存儲索引的表空間。 在默認(rèn)情況下, 索引與表存儲在同一表空間中【MySQL的MyISAM引擎是索引與數(shù)據(jù)是分開的,InnoDB引擎就是索引和數(shù)據(jù)在一起】

3.創(chuàng)建索引

3.1 索引創(chuàng)建語法

create [unique] [bitmap] index on [schema.]table(column[asc|desc][,...]) [reverse] [parameter_list];

其中:
unique 表示建立唯一性索引
bitmap 表示建立位圖索引
asc|desc 用于指定索引值的排列順序,asc表示按升序排列,desc表示按降序排序(默認(rèn)值為asc)
reverse 表示建立反鍵索引
parameter_list 用于指定索引的存放位置、存儲空間分配和數(shù)據(jù)塊參數(shù)設(shè)置

3.2 索引創(chuàng)建案例

3.2.1 例1:非唯一性索引

  • 在emp表的last_name列上創(chuàng)建一個(gè)非唯一性索引
create index emp_lname_index on emp(last_name) tablespace index;
## tablespace index 表示索引存儲在名為 index 的表空間中,也就是說,數(shù)據(jù)將會在此表空間中進(jìn)行存儲和管理

3.2.2 例2:唯一性索引

  • 在emp表的email列上創(chuàng)建一個(gè)唯一性索引
create unique index emp_email_index on emp(email) tablespace index;

3.2.3 例3:位圖索引

  • 在emp表的job_id列上創(chuàng)建一個(gè)位圖索引
create bitmap index emp_job_index on emp(job_id)  tablespace index;

3.2.4 例4:函數(shù)索引

  • 基于emp表的first_name 列創(chuàng)建一個(gè)函數(shù)索引
create index emp_fname_index on emp(upper(first_name))  tablespace index;

4.分區(qū)索引

  • 在Oracle數(shù)據(jù)庫中,索引與表時(shí)相互獨(dú)立的,索引是否分區(qū) 與 表是否分區(qū) 沒有直接關(guān)系

  • 不分區(qū)的表可以創(chuàng)建分區(qū)索引和不分區(qū)索引,分區(qū)的表也可以創(chuàng)建分區(qū)索引或不分區(qū)的索引,如下圖所示

【SQL應(yīng)知應(yīng)會】索引 ? Oracle版:B-樹索引;位圖索引;函數(shù)索引;單列與復(fù)合索引;分區(qū)索引,sql,oracle,b樹,數(shù)據(jù)庫,大數(shù)據(jù),面試,mysql

3.1分區(qū)索引概念

  • 在Oracle數(shù)據(jù)庫中,分區(qū)索引分為本地分區(qū)索引和全局分區(qū)索引

  • 本地分區(qū)索引是指為分區(qū)表中的各個(gè)分區(qū)單獨(dú)創(chuàng)建索引分區(qū),各個(gè)索引分區(qū)之間是相互獨(dú)立的,索引的分區(qū)與表的分區(qū)是一一對應(yīng)的,如下圖所示,為分區(qū)表創(chuàng)建了本地分區(qū)索引后,Oracle會自動對表的分區(qū)和索引的分區(qū)進(jìn)行同步維護(hù)
    【SQL應(yīng)知應(yīng)會】索引 ? Oracle版:B-樹索引;位圖索引;函數(shù)索引;單列與復(fù)合索引;分區(qū)索引,sql,oracle,b樹,數(shù)據(jù)庫,大數(shù)據(jù),面試,mysql

  • 全局分區(qū)索引是指先對整個(gè)表建立索引,然后再對索引進(jìn)行分區(qū)。索引的分區(qū)之間不是相互獨(dú)立的,索引分區(qū)與表分區(qū)之間也不是一一對應(yīng)的,如下圖6-3所示;也可以為分區(qū)表創(chuàng)建非分區(qū)的全局索引,如下圖6-4所示
    【SQL應(yīng)知應(yīng)會】索引 ? Oracle版:B-樹索引;位圖索引;函數(shù)索引;單列與復(fù)合索引;分區(qū)索引,sql,oracle,b樹,數(shù)據(jù)庫,大數(shù)據(jù),面試,mysql

2.分區(qū)索引案例

2.1 創(chuàng)建本地分區(qū)索引

  • 分區(qū)表創(chuàng)建后,可以對分區(qū)表創(chuàng)建本地分區(qū)索引,在指明分區(qū)方法時(shí)使用local關(guān)鍵字標(biāo)識本地分區(qū)索引
# 例:在student_range分區(qū)表的sname列上創(chuàng)建本地分區(qū)索引
create index student_range_local on student_range(sname) local

2.2全局分區(qū)索引

  • 與表分區(qū)方法類似,索引分區(qū)方法也包括范圍分區(qū)、列表分區(qū)、散列分區(qū)和復(fù)合分區(qū)等,在指明分區(qū)方法時(shí)使用global關(guān)鍵字標(biāo)識全局分區(qū)索引
# 例:為分區(qū)表student_list的sage列建立基于范圍的全局分區(qū)索引
create index student_list_global on student_list(sage) global 
partition by range(sage)
(
    partition p1 values less than (80) tablespace orcltbs1,
    partition p1 values less than (maxvalue) tablespace orcltbs2
)

3.全局非分區(qū)索引

  • 為分區(qū)表創(chuàng)建全局非分區(qū)索引與為標(biāo)準(zhǔn)表創(chuàng)建索引一樣
# 例:為分區(qū)表student_list_index創(chuàng)建全局非分區(qū)索引
create index student_list_index on student_list_index(sname) tablespace index

??感謝大家耐心的看完這篇文章,這篇文章是SQL索引的第4篇文章,關(guān)于Oracle的索引
?如果大家覺著內(nèi)容還算可以,那么就關(guān)注一下愛書不愛輸?shù)某绦蛟?/strong>吧
??也可以加入我的社區(qū)一起學(xué)習(xí)呀
??各種專欄,精彩不斷

  • SQL應(yīng)知應(yīng)會專欄,對于數(shù)據(jù)庫的一些學(xué)習(xí),有基礎(chǔ)也有進(jìn)階,有MySQL也有Oracle
  • UML應(yīng)知應(yīng)會專欄,對于UML的一些講解,應(yīng)有盡有
  • … … 還有java的專欄、算法與數(shù)據(jù)結(jié)構(gòu)的專欄等其他專欄,快去我的主頁關(guān)注我吧

【SQL應(yīng)知應(yīng)會】索引 ? Oracle版:B-樹索引;位圖索引;函數(shù)索引;單列與復(fù)合索引;分區(qū)索引,sql,oracle,b樹,數(shù)據(jù)庫,大數(shù)據(jù),面試,mysql文章來源地址http://www.zghlxwxcb.cn/news/detail-689456.html

到了這里,關(guān)于【SQL應(yīng)知應(yīng)會】索引 ? Oracle版:B-樹索引;位圖索引;函數(shù)索引;單列與復(fù)合索引;分區(qū)索引的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【SQL應(yīng)知應(yīng)會】表分區(qū)(二)? Oracle版

    【SQL應(yīng)知應(yīng)會】表分區(qū)(二)? Oracle版

    歡迎來到愛書不愛輸?shù)某绦蛟车牟┛? 本博客致力于知識分享,與更多的人進(jìn)行學(xué)習(xí)交流 本文收錄于SQL應(yīng)知應(yīng)會專欄, 本專欄 主要用于記錄對于數(shù)據(jù)庫的一些學(xué)習(xí),有基礎(chǔ)也有進(jìn)階,有MySQL也有Oracle

    2024年02月15日
    瀏覽(20)
  • 【SQL應(yīng)知應(yīng)會】表分區(qū)(三)? Oracle版

    【SQL應(yīng)知應(yīng)會】表分區(qū)(三)? Oracle版

    歡迎來到愛書不愛輸?shù)某绦蛟车牟┛? 本博客致力于知識分享,與更多的人進(jìn)行學(xué)習(xí)交流 本文收錄于SQL應(yīng)知應(yīng)會專欄, 本專欄 主要用于記錄對于數(shù)據(jù)庫的一些學(xué)習(xí),有基礎(chǔ)也有進(jìn)階,有MySQL也有Oracle

    2024年02月14日
    瀏覽(16)
  • 【SQL應(yīng)知應(yīng)會】表分區(qū)(四)? Oracle版

    【SQL應(yīng)知應(yīng)會】表分區(qū)(四)? Oracle版

    歡迎來到愛書不愛輸?shù)某绦蛟车牟┛? 本博客致力于知識分享,與更多的人進(jìn)行學(xué)習(xí)交流 本文收錄于SQL應(yīng)知應(yīng)會專欄, 本專欄 主要用于記錄對于數(shù)據(jù)庫的一些學(xué)習(xí),有基礎(chǔ)也有進(jìn)階,有MySQL也有Oracle

    2024年02月14日
    瀏覽(20)
  • 【SQL應(yīng)知應(yīng)會】分析函數(shù)的點(diǎn)點(diǎn)滴滴(三)

    【SQL應(yīng)知應(yīng)會】分析函數(shù)的點(diǎn)點(diǎn)滴滴(三)

    歡迎來到愛書不愛輸?shù)某绦蛟车牟┛? 本博客致力于知識分享,與更多的人進(jìn)行學(xué)習(xí)交流 本文收錄于SQL應(yīng)知應(yīng)會專欄, 本專欄 主要用于記錄對于數(shù)據(jù)庫的一些學(xué)習(xí),有基礎(chǔ)也有進(jìn)階,有MySQL也有Oracle

    2024年02月11日
    瀏覽(22)
  • 【SQL應(yīng)知應(yīng)會】分析函數(shù)的點(diǎn)點(diǎn)滴滴(一)

    【SQL應(yīng)知應(yīng)會】分析函數(shù)的點(diǎn)點(diǎn)滴滴(一)

    歡迎來到愛書不愛輸?shù)某绦蛟车牟┛? 本博客致力于知識分享,與更多的人進(jìn)行學(xué)習(xí)交流 本文收錄于SQL應(yīng)知應(yīng)會專欄, 本專欄 主要用于記錄對于數(shù)據(jù)庫的一些學(xué)習(xí),有基礎(chǔ)也有進(jìn)階,有MySQL也有Oracle 分析函數(shù)用于計(jì)算基于組的某種聚合值,它和聚合函數(shù)的不同之處是對于每個(gè)

    2024年02月09日
    瀏覽(18)
  • 【SQL應(yīng)知應(yīng)會】分析函數(shù)的點(diǎn)點(diǎn)滴滴(二)

    【SQL應(yīng)知應(yīng)會】分析函數(shù)的點(diǎn)點(diǎn)滴滴(二)

    歡迎來到愛書不愛輸?shù)某绦蛟车牟┛? 本博客致力于知識分享,與更多的人進(jìn)行學(xué)習(xí)交流 本文收錄于SQL應(yīng)知應(yīng)會專欄, 本專欄 主要用于記錄對于數(shù)據(jù)庫的一些學(xué)習(xí),有基礎(chǔ)也有進(jìn)階,有MySQL也有Oracle

    2024年02月10日
    瀏覽(22)
  • 【SQL應(yīng)知應(yīng)會】索引(三)? MySQL版:聚簇索引與非聚簇索引;查看索引與刪除索引;索引方法

    【SQL應(yīng)知應(yīng)會】索引(三)? MySQL版:聚簇索引與非聚簇索引;查看索引與刪除索引;索引方法

    歡迎來到愛書不愛輸?shù)某绦蛟车牟┛? 本博客致力于知識分享,與更多的人進(jìn)行學(xué)習(xí)交流 本文收錄于SQL應(yīng)知應(yīng)會專欄, 本專欄 主要用于記錄對于數(shù)據(jù)庫的一些學(xué)習(xí),有基礎(chǔ)也有進(jìn)階,有MySQL也有Oracle ?今天繼續(xù) SQL的索引 的第 3 篇文章,主要講到了聚簇索引與非聚簇索引、查

    2024年02月11日
    瀏覽(23)
  • 【SQL應(yīng)知應(yīng)會】表分區(qū)(一)? MySQL版

    【SQL應(yīng)知應(yīng)會】表分區(qū)(一)? MySQL版

    歡迎來到愛書不愛輸?shù)某绦蛟车牟┛? 本博客致力于知識分享,與更多的人進(jìn)行學(xué)習(xí)交流 本文收錄于SQL應(yīng)知應(yīng)會專欄, 本專欄 主要用于記錄對于數(shù)據(jù)庫的一些學(xué)習(xí),有基礎(chǔ)也有進(jìn)階,有MySQL也有Oracle 注意: 數(shù)據(jù)庫名、表名、字段名反勾號` 是系統(tǒng)導(dǎo)出DDL語句自帶格式,也可以

    2024年02月13日
    瀏覽(38)
  • 【SQL應(yīng)知應(yīng)會】行列轉(zhuǎn)換(二)? MySQL版

    【SQL應(yīng)知應(yīng)會】行列轉(zhuǎn)換(二)? MySQL版

    歡迎來到愛書不愛輸?shù)某绦蛟车牟┛? 本博客致力于知識分享,與更多的人進(jìn)行學(xué)習(xí)交流 本文收錄于SQL應(yīng)知應(yīng)會專欄, 本專欄 主要用于記錄對于數(shù)據(jù)庫的一些學(xué)習(xí),有基礎(chǔ)也有進(jìn)階,有MySQL也有Oracle

    2024年02月11日
    瀏覽(25)
  • 【SQL應(yīng)知應(yīng)會】表分區(qū)(五)? MySQL版

    【SQL應(yīng)知應(yīng)會】表分區(qū)(五)? MySQL版

    歡迎來到愛書不愛輸?shù)某绦蛟车牟┛? 本博客致力于知識分享,與更多的人進(jìn)行學(xué)習(xí)交流 本文收錄于SQL應(yīng)知應(yīng)會專欄, 本專欄 主要用于記錄對于數(shù)據(jù)庫的一些學(xué)習(xí),有基礎(chǔ)也有進(jìn)階,有MySQL也有Oracle

    2024年02月16日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包