Oracle 维护数据的完整性 一 索引
簡(jiǎn)介:索引是用于加速數(shù)據(jù)存取的數(shù)據(jù)對(duì)象,合理的使用索引可以大大降低i/o 次數(shù),從而提高數(shù)據(jù)的訪問(wèn)性能.
?
當(dāng)我們從一張表中檢索我們需要的數(shù)據(jù)是,oralce往往會(huì)進(jìn)行全表掃描,就是遍歷所有的數(shù)據(jù)行,來(lái)找到我們需要的數(shù)據(jù),并返回結(jié)果集給我們,這個(gè)過(guò)程就像下圖:
當(dāng)這個(gè)人需要去圖書館找一本書,唯一的方式就是把這個(gè)圖書館的書,全部過(guò)一邊,直到找到自己想要的書,如果這個(gè)圖書館的書少的話,這個(gè)時(shí)間還可以接收,但是如果這個(gè)圖書館有1000萬(wàn)本書,那么你懂的,這輩子能不能找的到都不一定,畢竟人沒(méi)有計(jì)算機(jī)那么快的速度。
當(dāng)我們查詢oracle表中的數(shù)據(jù)時(shí),oracle也是這么做的,檢索全表,直到找到符合要求的數(shù)據(jù),并返回。這個(gè)過(guò)程是非常影響用戶體驗(yàn)的,所以必須通過(guò)索引來(lái)解決這個(gè)問(wèn)題。
?
(個(gè)人的理解,大神可視而不見(jiàn))索引的作用:假設(shè)讀者經(jīng)常根據(jù)姓名去查一些書籍,那么就根據(jù)姓名將整個(gè)圖書館的書籍進(jìn)行分類,那么我們就會(huì)得到一個(gè)標(biāo)簽的集合,里面存儲(chǔ)的是一個(gè)個(gè)id為姓名的標(biāo)簽,而標(biāo)簽里面的內(nèi)容是對(duì)應(yīng)數(shù)據(jù)庫(kù)記錄的位置,假設(shè)我們這里需要查詢金庸的書籍,那么我們只要去標(biāo)簽集合插到金庸的標(biāo)簽,然后根據(jù)標(biāo)簽上記錄的金庸書籍的位置,快速的查詢我們需要的書籍。就不需要檢索全表,而是通過(guò)查詢索引,從而得到我們需要的數(shù)據(jù),但是索引是不能濫用的,下面是使用索引需要注意的地方:
?
轉(zhuǎn)載于:https://www.cnblogs.com/GreenLeaves/p/6656367.html
總結(jié)
以上是生活随笔為你收集整理的Oracle 维护数据的完整性 一 索引的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Lind.DDD.DynamicModu
- 下一篇: DokuWiki 开源wiki引擎程序