在oracle中,索引有什麼優點和缺點?
1樓:世紀網路
一:索引是什麼:
通俗的來講,索引在表中的作用,相當於書的目錄對書的作用。索引與表一樣,也屬於段的一種。裡面存放了使用者的資料,跟表一樣需要佔用磁碟空間。
索引是一種允許直接訪問資料表中某一資料行的樹型結構,為了提高查詢效率而引入,是乙個獨立於表的物件,可以存放在與表不同的表空間中。索引記錄中存有索引關鍵字和指向表中資料的指標(位址)。對索引進行的i/o操作比對錶進行操作要少很多。
索引一旦被建立就將被oracle系統自動維護,查詢語句中不用指定使用哪個索引。
二:優點:①可以加快資料的檢索速度。
可以加速表和表之間的連線。
使用分組和排序子句進行資料檢索時,可以減少查詢中分組和排序的時間。
三:缺點:①建立索引和維護索引要耗費時間,這種時間隨著資料量的增加而增加。
索引需要佔物理空間,除了資料表佔資料空間之外,每乙個索引還要佔一定的物理空間。
當對錶中的資料進行增加、刪除和修改的時候,索引需要動態的維護,這樣就降低了資料的維護速度。
oracle資料庫中的「索引」怎麼理解?
2樓:網友
索引可以提供對錶中記錄直接快速的訪問,索引的目的就是通過指標快速定位資料的方法有效地減少磁碟的i/o操作。
3樓:網友
假設我們有200條資料,不建索引的情況下,你要找乙個數,比如20,你要找200次,然後返回你找到的那次。但是如果有索引,你就知道先找1--100之間的,然後再找1--50之間的,然後找1--25之間的,大大縮小的查詢的次數,加快了查詢。理解?
4樓:網友
把資料庫比喻成一本書,資料庫索引就相當於書的目錄。
5樓:網友
可以基於下面一些特性來理解:
第一,通過建立唯一性索引,可以保證資料庫表中每一行資料的唯一性。
第二,可以大大加快資料的檢索速度,這也是建立索引的最主要的原因。
第三,可以加速表和表之間的連線,特別是在實現資料的參考完整性方面特別有意義。
第四,在使用分組和排序子句進行資料檢索時,同樣可以顯著減少查詢中分組和排序的時間。
第五,通過使用索引,可以在查詢的過程中,使用優化隱藏器,提高系統的效能。
oracle索引的概念及作用
6樓:魔鬼基佬人
在oracle中,索引是一種供伺服器在表中快速查詢乙個行的資料庫結構。在資料庫中建立索引主要有以下作用。 (1)快速存取資料。
2)既可以改善資料庫效能,又可以保證列值的唯一性。 (3)實現表與表之間的參照完整性 (4)在使用orderby、groupby子句進行資料檢索時,利用索引可以減少排序和分組的時間。
oracle索引的問題
7樓:網友
以下是個人意見和經驗:
首先,索引確實可以提高查詢速度,但是這個查詢也要看是這樣的查詢,如果查詢的表的資料量很大,在千萬級以上,且查詢的結果是佔到表資料量的七成(或是更多)以上,那麼反而會降低查詢速度,因為幾乎要遍歷整個索引樹。
第二,索引會佔用物理儲存空間,即索引段;
第三,索引由於需要維護,所以當每列都有索引的時候,如果對錶進行插入操作,效能將會非常慢。
8樓:
並不是索引一定都會加快查詢速度。索引是需要根據你的需求來設計的,一般來說,在資料量比較大時索引的作用才會明顯。而且應該只在你經常查詢的列上建立索引,因為不常用的列建立了索引也沒什麼作用,而且還會佔用系統資源來維護。
另外還應該注意sql語句的書寫和資料庫統計資訊的更新,這些都會影響索引的使用。
關於oracle的索引的問題
對於你這個問題,不是簡單就能說明白為什麼不變的。首先你的建立合適的索引,索引不只是b tree一種。索引分類 1.b tree 2.唯一索引 unique 3.複合 4.函式 5.點陣圖 6.反鍵 7.本地和全域性 1 表的主鍵 外來鍵必須有索引 2 資料量超過300的表應該有索引 3 經常與其他表...
對屈原以死殉國的感悟,對屈原以死殉國的感悟350字
屈原是我國愛國忠臣 因無力勸阻君王,不能使百姓脫離水深火熱之中 而投江自盡。屈原死後,百姓敬重他,哀悼他。因為他是和危害楚國的小人奮鬥到死的,所以到了他的忌日,百姓們就掛起菖蒲劍,喝著雄黃酒預防奸邪侵害。百姓相信愛國詩人是不會死的,每年農曆初五,他們划著龍船,到處去尋覓詩人。他的愛國精神,已經在中國...
對詩歌的領悟,對古詩詞的感悟
一個人來到田納西 毫無疑問 我做的餡餅 是全天下 最好吃的 我終於在一棵樹下發現 一隻螞蟻,另一隻螞蟻,一群螞蟻 可能還有更多的螞蟻 劉又源睡覺的時候是個孩子 劉又源一個人 在玩 手機 遊戲 1是x 戰機 2是空間大戰 3是我的寵物 一整個上午 他沒有停下來 傻瓜燈 我堅決不能容忍 我堅決不能容忍 ...