成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

創建索引選擇合適的可選項

運維 數據庫運維
數據庫索引好比是一本書前面的目錄,能加快數據庫的查詢速度,那么建立索引的目的就是為了加快對表中記錄的查找或排序。本文將為大家介紹創建索引選擇合適的可選項。

導讀:有些新手在Oracle數據庫中創建索引時往往不會使用可選項。其實,有時候在合適的場合使用一些可選項,可以提高索引的創建速度。如為了大批量導入數據,我們往往會先取消索引其以提高插入的速度。然后等數據導入完畢后再重新創建索引。在這個過程中如果能夠采用一些可選項,則可以縮短索引創建的時間。在Oracle數據庫中提供了豐富的可選項。我們常用的可選項主要有以下這些。

  可選項一:NOSORT,記錄排序可選項

  默認情況下,在表中創建索引的時候,會對表中的記錄進行排序,排序成功后再創建索引。但是當記錄比較多的是,這個排序作業會占用比較多的時間,這也就增加了索引建立的時間(排序作業是在索引創建作業中完成)。有時候,我們導入數據的時候,如采用insert into 語句插入數據過程中同時采用Order by子句對索引字段進行了排序。此時如果在索引創建過程中再進行排序的話,就有點脫褲子放屁,多此一舉了。為此在重新創建索引時,如果表中的數據已經排好序了(按索引字段排序),那么在創建索引時就不需要為此重新排序。此時在創建索引時,數據庫管理員就可以使用NOSORT可選項,告訴數據庫系統不需要對表中當記錄進行重新排序了。

  采用了這個選項之后,如果表中的記錄已經按順序排列,那么在重新創建索引的時候,就不會重新排序,可以提高索引創建的時間,節省內存中的排序緩存空間。相反,如果表中的記錄是不按索引關鍵字排序的話,那么此時采用NOSORT關鍵字的話,系統就會提示錯誤信息,并拒絕創建索引。所以在使用NOSORT可選項的時候,數據庫管理員盡管放心大膽的使用。因為其實在不能夠使用這個選項的時候,數據庫也會明確的告知。為此其副作用就比較少,數據庫管理員只需要把這個可選項去掉然后重新執行一次即可。不過這里需要注意的是,如果表中的記錄比較少的話,那么使用NOSORT選項的效果并不是很明顯。當采用insert into批量導入數據,并在這個過程中采用了Order by子句對索引關鍵字進行了排序的話,則此時采用NOSORT選項的話,往往能夠起到比較好的效果。

  可選項二:NOLOGGING,是否需要記錄日志信息

  在創建索引的時候,系統會把相關的信息存儲到日志信息中去。如果表中的記錄比較多,則需要一一的把這些信息記錄到日志文件中,這顯然會讓數據庫增加很大的工作量。從而增加索引創建的時間。為此在創建索引的過程中,如果有必要時,我們可以采用NOLOGGING選項,讓數據庫在創建索引的過程中,不產生任何重做日志信息。此時當表中的記錄比較多時,就可以明顯提高速度。

  但是默認情況下,數據庫在在創建索引時,是不采用這個選項的,即會把相關的信息保存到重做日志中去。這雖然降低了索引創建的效率,但是如果遇到什么意外的話,卻可以利用重做日志來進行恢復。所以,此時數據庫管理員就比較難以抉擇了。一方面是數據的安全,另一方面是索引創建的速度。根據筆者的經驗,只要數據庫服務器比較穩定,而數據庫中約束機制又比較完善的話,那么在創建索引的過程中一般不會出現問題,可以放心大膽的使用這個可選項。

  但是如果數據庫已經使用了好幾年了。后來因為某種原因需要重建索引。在這種情況下,由于數據庫使用過程中很多因素數據庫管理員無法控制。此時為這種類型的數據庫創建索引時,為了保險起見還是不要采用這個選項好。因為此時遇到錯誤的幾率相對來說會搞一點。為此此時犧牲一下索引創建的速率,而提高數據的安全性還是有必要的。萬一遇到什么問題時,可以通過重做日志來及時的恢復數據,為企業用戶減少損失。

  可選項三:COMPUTE STATISTICS,是否生成統計信息

  如果管理員在創建索引時采用了這個選項,則數據庫將在創建索引的過程中以非常小的代價直接生成關于索引的相關統計信息,然后把這些信息存儲在數據字典中。這就可以避免以后對索引進行分析統計,而且優化器在優化SQL語句的時候可以隨機使用這些統計信息,以確定是否生成使用該索引的執行計劃。通常情況下,在生成索引的過程中統計索引的相關信息,其所花的代價是最小的。無論從時間上,還是從硬件資源的耗費上,都是非常小的。所以,在創建索引的過程中統計相關的索引信息是非常有用的。

  但是默認情況下,數據庫是不采用這個選項的。這主要是因為一些事物處理系統,索引的信息是經常需要發生變化的。如果在索引創建的過程中統計了相關信息。這些信息隨著索引的調整等等原因會很快的過時。所以說,其在默認情況下沒有采用這個選項。可見這個選項并不是在任何情況下都能夠起到效果。但是如果這個數據庫系統是一個決策支持系統。其數據、索引等等在一段時間內基本上是穩定不變的。此時在創建索引時可以使用這個選項。如此的話,在生成索引時可以以最小的代價生成這些統計信息,方便優化器使用。筆者在部署數據庫應用的時候,對于事務型的數據庫系統,一般不會啟用這個選項。但是對于一些決策性的數據庫系統或者數據倉庫中,創建索引時則筆者喜歡采用這個選項。這有助于提高數據庫的性能。因為優化器在生成執行計劃時,可以直接采用這個統計信息。所以,數據庫能夠在最短的時間內確定需要采用的執行計劃。而且在執行計劃制定中參考了這個索引統計信息,為此所生成的執行計劃在同等條件下可能更加的合理。

  可選項四:ONLINE,DML操作與創建索引操作是否可以同時進行

  默認情況下,數據庫系統是不允許DML操作與創建索引的操作同時進行的。也就是說,在創建索引的過程中,是不允許其他用戶對其所涉及的表進行任何的DML操作。這主要是因為對基礎表進行DML操作時,會對基礎表進行加鎖。所以在基礎表上的DDL事務沒有遞交之前,即沒有對基礎表進行解鎖之前,是無法對這基礎表創建索引的。反之亦然。顯然此時數據庫沒有采用這個ONLIE選項,繼之DML操作與創建索引操作同時進行,主要是從創建索引的效率出發的。防止因為兩個作業相互沖突,從而延長某個作業的運行時間。

  但是有時會我們必須允許他們進行同時操作。如用戶可能一刻都不能夠離開數據庫系統,需要時時刻刻對數據庫基礎表進行DML操作。而此時由于某些原因,數據庫管理員又需要重新建立索引時,那么不得不在創建索引的語句中加入這個ONLINE選項。讓他們同時運行。此時雖然可能會延長索引創建作業的時間,但是可以保障用戶DML操作能夠正常進行。有時候犧牲這個代價是值得的。用戶是不能夠等的,而我們數據庫管理員則可以勉強的等一會兒。

  當然,如果用戶對于這個DML操作及時性沒有這么高。如數據庫管理員在晚上員工沒有使用數據庫時創建索引時,則可以不帶這個選項。在限制用戶對基礎表進行DML操作的同時,提高數據庫創建索引的效率。

  可選項五:PARALLEL,多服務進程創建索引

  默認情況下,Oracle數據庫系統不采用這個選項。這并不是說這個選項不可用,而是因為大多數情況下企業部署Oracle數據庫時所采用的數據庫服務器往往只有單個CPU。此時數據庫系統是用一個服務進程來創建索引的。

  如果企業的服務器有多個CPU的話,則可以在創建索引時采用這個選項。因為只要采用了這個選項,則數據庫就會使用多個服務進程來并行的創建索引,以提高索引創建的速度。為此,在同等條件下,多服務并行創建進索引并單服務創建索引速度要快的多。所以如果服務器中有多個CPU,而且需要創建的索引比較多或者基礎表中記錄比較多的話,則采用這個選項能夠大幅度的提高索引的創建效率。

  故筆者建議,如果采用多CPU的服務器時,最好在創建索引時使用這個選項。不能夠浪費了服務器的CPU呀。不然的話,多CPU服務器的優勢就體現不出來了。為此采用這個選項,也是物盡其用。希望本文講到的內容對大家能有所幫助。

【編輯推薦】

  1. Sybase建立索引的原則
  2. 教您如何解決mysql表索引被破壞的問題
  3. 帶您深入了解MySQL索引類型
責任編輯:迎迎 來源: IT專家網
相關推薦

2011-04-08 15:12:22

Oracle索引

2017-03-14 13:28:53

2017-02-24 12:45:13

SDN英特爾5G網絡

2022-09-02 14:48:14

網絡安全物聯網大數據

2023-10-04 00:50:00

Java開發

2021-02-18 07:47:49

Windows10操作系統微軟

2023-05-05 10:45:39

聯合索引數據

2011-03-23 15:57:43

Oracle索引

2023-03-10 09:00:49

Swift開發者工具

2010-03-30 17:40:59

Oracle數據庫

2023-05-09 16:25:57

Azure 存儲文件存儲

2019-03-11 15:48:13

企業存儲數據

2010-08-20 13:47:11

BlackBerry應BlackBerry

2018-02-28 15:19:43

云計算云計算顧問咨詢

2009-02-02 09:31:25

MySQL存儲引擎MyISAM

2022-03-17 17:08:05

機器學習算法類型

2013-08-07 14:04:22

MySQL備份

2017-09-12 08:22:59

DCIM軟件數據中心

2024-01-19 09:42:23

數據庫索引
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91五月婷蜜桃综合 | 日韩 国产 在线 | 日韩精品一区二区三区中文字幕 | 久久久国产精品入口麻豆 | 久久精品黄色 | 日本一区二区三区在线观看 | 亚洲有码转帖 | 欧美一级做a爰片免费视频 国产美女特级嫩嫩嫩bbb片 | 欧洲尺码日本国产精品 | 国产在线精品一区二区三区 | 精品一区二区久久久久久久网站 | 国产精品免费在线 | 成人免费看电影 | 亚洲欧美日韩网站 | 欧美精品一区二区三区在线 | 国产日韩精品在线 | 午夜精品导航 | 国产高清一区二区三区 | 国产一区二区久久久 | 在线免费黄色小视频 | 中文字幕av一区二区三区 | 日本a在线| 日韩欧美大片在线观看 | 国产精品免费小视频 | 色综合久久天天综合网 | 精品少妇一区二区三区在线播放 | 日本三级做a全过程在线观看 | 91av在线免费播放 | 黑人精品| 国产精品久久av | 国产精品久久精品 | 国产一极毛片 | 国色天香综合网 | 亚洲国产欧美一区二区三区久久 | 亚洲网站在线观看 | 亚洲视频第一页 | 久婷婷| 羞羞视频网页 | 亚洲理论在线观看电影 | 久久久久欧美 | 夜夜爽夜夜操 |