真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

索引與數(shù)據(jù)完整性的故事-創(chuàng)新互聯(lián)

    話說數(shù)據(jù)庫也有著重要的衡量指標(biāo),那么性能和安全絕對是重要的兩大板塊,在這里性能指的是處理與響應(yīng)戶端服務(wù)的速度,而安全則是數(shù)據(jù)完整性規(guī)則。

站在用戶的角度思考問題,與客戶深入溝通,找到薩迦網(wǎng)站設(shè)計與薩迦網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋薩迦地區(qū)。

  為啥要用索引?

      我們知道,當(dāng)我們用select去查詢一個表內(nèi)容,或者用where指定一些關(guān)鍵字,Oracle會遍歷整個表去尋找我們的數(shù)據(jù),不會因為where找到了數(shù)據(jù)而不繼續(xù)遍歷,因為Oracle不知道是否數(shù)據(jù)表后面的字段有沒有我們要的數(shù)據(jù),所以還會遍歷整個表數(shù)據(jù),那么當(dāng)一個大數(shù)據(jù)文件,是非常耗時的操作,為了提高我們的檢索效率,更快速更高效的去找到我們想要的數(shù)據(jù),也算是索引設(shè)計的初衷之一。

    索引怎樣高效?

     為什么用力了索引就會高效,那么我們一起來了解一下索引的原理把,關(guān)系型數(shù)據(jù)庫每一行都會有ROWID的,那么ROWID包括該行的條件、文件中的BOLACKS等,那么說到這里大概就知道!索引建立依靠ROWID來進(jìn)行的,按照索引的村存儲方法有B樹的,還有位圖索引。個人組織語言講解這兩種類型怕誤人子弟引用百度知識!

    (1)B*樹索引的存儲結(jié)構(gòu)類似書的索引結(jié)構(gòu),有分支和葉兩種類型的存儲數(shù)據(jù)塊,分支塊相當(dāng)于書的大目錄,葉塊相當(dāng)于索引到的具體的書頁。Oracle用B*樹機制存儲索引條目,以保證用最短路徑訪問鍵值。默認(rèn)情況下大多使用B*樹索引,該索引就是通常所見的唯一索引、逆序索引。

    (2)位圖索引存儲主要用于節(jié)省空間,減少oracle對數(shù)據(jù)塊的訪問。它采用位圖偏移方式來與表的行ID號對應(yīng),采用位圖索引一般是重復(fù)值太多的表字段。位圖索引之所以在實際密集型OLTP(聯(lián)機事物處理)中用的比較少,是因為OLTP會對表進(jìn)行大量的刪除、修改、新建操作。Oracle每次進(jìn)行操作都會對要操作的數(shù)據(jù)塊加鎖。以防止多人操作容易產(chǎn)生的數(shù)據(jù)庫鎖等待甚至死鎖現(xiàn)象。在OLAP(聯(lián)機分析處理)中應(yīng)用位圖有優(yōu)勢,因為OLAP中大部分是對數(shù)據(jù)庫的查詢操作,而且一般采用數(shù)據(jù)倉庫技術(shù),所以大量數(shù)據(jù)采用位圖索引節(jié)省空間比較明顯。當(dāng)創(chuàng)建表的命令中包含有唯一性關(guān)鍵字時,不能創(chuàng)建位圖索引,創(chuàng)建全局分區(qū)索引時也不能用位圖索引。

    以上就是百度百科對兩種結(jié)構(gòu)的介紹

    格式:

        create index index_name on people(name)

    解釋:

        那么index就是創(chuàng)建索引的關(guān)鍵字,這時候索引就會在表people列name上建立,會根據(jù)ROWID等信息把名字信息分塊處理。

    通過本人測試不貼圖了,對10W條數(shù)據(jù)進(jìn)行測試,普通查找的COST的為400左右,當(dāng)為某一列建立索引之后,4左右,效率100倍!

    DML的影響

確實在檢索方面很快,但是缺點無疑暴露,不適合頻繁插入,更改刪除等操作,為啥???因為當(dāng)我們插入也會對索引進(jìn)行修改,那么索引中不會把你修改刪除的數(shù)據(jù)從塊中清理釋放內(nèi)存,只是打上標(biāo)記,而且有時候可能會改變“顛覆”原結(jié)構(gòu),重要的是不釋放空間資源,所以我們在頻繁插入修改刪除的表中盡量避免索引這種機制,其次在數(shù)據(jù)量少的情況下也要去避免這種機制,因為小數(shù)據(jù)還要為索引建立格外開銷,本身不具備什么優(yōu)勢。

    數(shù)據(jù)完整性(Data integrity)

   索引他就簡單的說完了,談?wù)剶?shù)據(jù)的完整性,在前面很多章節(jié)都提到過數(shù)據(jù)的完整性,我們大多數(shù)認(rèn)為就是數(shù)據(jù)比較完善就是數(shù)據(jù)的完整性,其實分的很精細(xì),數(shù)據(jù)的完整性是指數(shù)據(jù)的可靠性和精確性.

     進(jìn)一步的說,數(shù)據(jù)的完整性又分為實體完整性,參照完整,域完整性,用戶自定義完整性四大類。

    實體完整性(Entity)

        簡單來說,就是行的完整性,不能為空值,保證唯一性約束。那么通常用主鍵來保證實體的完整性,當(dāng)主鍵有多列還會聲明唯一性約束UNIQE來保證唯一標(biāo)識。

    參照完整性 (Domain integrity)

              表與表之間的關(guān)系,對于父子表如果進(jìn)行插入更新刪除操作,只完成其中一個表就會破壞參照的完整性,字表為隨著父表二變化,外鍵一般用來保證參照完整性的約束。

    域完整(Referential Integrity)

                域完整是指滿嘴特殊的數(shù)據(jù)類型或者約束的列,比如check,not null,default等都在域完整的范圍內(nèi)。

    用戶自定義完整(User-defined Integrity)

                用戶自定義完整多數(shù)在用戶對列中數(shù)據(jù)類型,字段的約束,比如我只想某一個字段插入什么樣的內(nèi)容,或者只允許插入1500元以下工資等等,根據(jù)我們的需求通過SQL語句動作得到預(yù)期的結(jié)果這個過程保證了我們自定義的完整,如CHECK檢車約束的使用。

        更深入的知識這里不多做分享,怕誤人子弟,以上是個人參照書籍資料加上自己的理解分享給大家的知識,不足之處希望指點出一定改進(jìn)!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)站題目:索引與數(shù)據(jù)完整性的故事-創(chuàng)新互聯(lián)
分享地址:http://weahome.cn/article/dpggpd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部