...">
瀏覽量:143次
oracle添加索引方法是什么呢?不知道的小伙伴來看看陽泰小編今天的分享吧!
1、oracle中索引說明:
1)索引是數(shù)據(jù)庫對象之一,用于加快數(shù)據(jù)的檢索,類似于書籍的索引。在數(shù)據(jù)庫中索引可以減少數(shù)據(jù)庫程序查詢結(jié)果時需要讀取的數(shù)據(jù)量,類似于在書籍中我們利用索引可以不用翻閱整本書即可找到想要的信息。
2)索引是建立在表上的可選對象;索引的關(guān)鍵在于通過一組排序后的索引鍵來取代默認的全表掃描檢索方式,從而提高檢索效率
3)索引在邏輯上和物理上都與相關(guān)的表和數(shù)據(jù)無關(guān),當(dāng)創(chuàng)建或者刪除一個索引時,不會影響基本的表;
4)索引一旦建立,在表上進行DML操作時(例如在執(zhí)行插入、修改或者刪除相關(guān)操作時),oracle會自動管理索引,索引刪除,不會對表產(chǎn)生影響
5)索引對用戶是透明的,無論表上是否有索引,sql語句的用法不變
6)oracle創(chuàng)建主鍵時會自動在該列上創(chuàng)建索引
2、索引原理
若沒有索引,搜索某個記錄時(例如查找name='wish')需要搜索所有的記錄,因為不能保證只有一個wish,必須全部搜索一遍
若在name上建立索引,oracle會對全表進行一次搜索,將每條記錄的name值哪找升序排列,然后構(gòu)建索引條目(name和rowid),存儲到索引段中,查詢name為wish時即可直接查找對應(yīng)地方
創(chuàng)建了索引并不一定就會使用,oracle自動統(tǒng)計表的信息后,決定是否使用索引,表中數(shù)據(jù)很少時使用全表掃描速度已經(jīng)很快,沒有必要使用索引。
3、oracle中添加索引方法:
CREATE [UNIQUE] | [BITMAP] INDEX index_name? --unique表示唯一索引
ON table_name([column1 [ASC|DESC],column2? ? --bitmap,創(chuàng)建位圖索引
[ASC|DESC],…] | [express]) [TABLESPACE tablespace_name]
[PCTFREE n1]?
指定索引在數(shù)據(jù)塊中空閑空間
[STORAGE (INITIAL n2)]
[NOLOGGING]?
表示創(chuàng)建和重建索引時允許對表做DML操作,默認情況下不應(yīng)該使用
[NOLINE]
[NOSORT];
表示創(chuàng)建索引時不進行排序,默認不適用,如果數(shù)據(jù)已經(jīng)是按照該索引順序排列的可以使用
[聲明]本網(wǎng)轉(zhuǎn)載網(wǎng)絡(luò)媒體稿件是為了傳播更多的信息,此類稿件不代表本網(wǎng)觀點,本網(wǎng)不承擔(dān)此類稿件侵權(quán)行為的連帶責(zé)任。故此,如果您發(fā)現(xiàn)本網(wǎng)站的內(nèi)容侵犯了您的版權(quán),請您的相關(guān)內(nèi)容發(fā)至此郵箱【779898168@qq.com】,我們在確認后,會立即刪除,保證您的版權(quán)。
官網(wǎng)優(yōu)化
整站優(yōu)化
渠道代理
400-655-5776