自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Oracle創(chuàng)建索引的實際操作中會出現(xiàn)的限制條件

數(shù)據(jù)庫 Oracle
在Oracle創(chuàng)建索引的實際操作中會有一些限制條件,以下的文章就是具體介紹哪些條件是Oracle創(chuàng)建索引的運用過程中是受限制的。

在Oracle創(chuàng)建索引的實際操作中有一些限制條件。就是說表或是列建立的相關(guān)索引并不是越多越好,而是相關(guān)索引建的越多,反而會影響到Oracle數(shù)據(jù)庫在運行中的整體性能,所以,在建立索引的時候,仍然會有一些限制條件。

一是不要對一些記錄內(nèi)容比較少的表建立索引

在一個應(yīng)用系統(tǒng)設(shè)計的時候,如設(shè)計一個ERP系統(tǒng)的數(shù)據(jù)庫,其雖然有幾千張表。但是,并不是每張表都有大量記錄的。相反,其中有近一半左右的數(shù)據(jù)表,可能其存儲的數(shù)據(jù)不會超過百條。如員工登陸帳戶密碼表、企業(yè)部門信息表等等。對于這些記錄內(nèi)容比較少的表,我們建立最好不要為其建立索引。無論是表上的,還是字段上,都不要Oracle建立索引。

二是若表中的內(nèi)容比較大

但是,這個表基本上不怎么查詢的時候,則只需要在表上建立索引即可;而不需要在字段上建立索引。如現(xiàn)在在ERP系統(tǒng)中,有一張表是“AD_Table”。其存儲的是這個數(shù)據(jù)庫中相關(guān)表的信息。這張表只有在數(shù)據(jù)庫設(shè)計的時候才會用到。故這張表中的記錄雖然比較多,但是由于用戶用的比較少,所以,一般沒有必要為這張表建立列級別上的索引。而直接用表索引來代替。

三是在一些NULL字段上

要根據(jù)實際情況來判斷是否要建立索引。如現(xiàn)在有一張人事檔案的表格,其上面有兩個字段,分別為“身份證號碼”與“地區(qū)”。有時會為了某個原因,企業(yè)需要所有員工都在系統(tǒng)中登記他們的身份證號碼,以方便他們辦工資卡、社會保險等等。所以人事管理可能需要經(jīng)常的查詢系統(tǒng),看看有沒有沒有身份證號碼的員工信息。

此時,就需要利用條件“IS NULL”來查詢我們所需要的記錄。故為了提高查詢效率,若某個記錄可能為空,并且經(jīng)常需要以NULL為條件進行查詢的時候,則最好給這個字段添加一個索引,并且最好建立位圖索引。相反,若雖然可能會以NULL這個條件作為查詢的限制語句,但是,用的不是很多的時候,則就沒有必要為其建立索引。

建議三:多表連接查詢的索引設(shè)計

如現(xiàn)在有一個人事管理系統(tǒng)。人事經(jīng)理想知道員工的社保繳納情況。他需要知道員工的姓名、職務(wù)、戶籍性質(zhì)(農(nóng)民戶口跟居民戶口費用不一樣)、繳納的情況等等。但是,這些信息包含在不同的表中。因為為了提高Oracle數(shù)據(jù)庫的性能,在表中存儲的可能只是某些序號,而不是具體的內(nèi)容。

如在社保表中,存儲的是員工對應(yīng)的編號,而不是員工的名字。所以,要得到這份報表的話,就可能需要關(guān)聯(lián)員工基本信息表、公司組織結(jié)構(gòu)表等表格,才能夠查詢到用戶所需要的內(nèi)容。為此,就需要利用Join語句,把這些表格關(guān)聯(lián)起來。為了提高數(shù)據(jù)庫的查詢效率,這些用來關(guān)聯(lián)的字段,最好能夠建立索引。這可以顯著的提高查詢的速度。

建議四:在表的更新速度與查詢速度之間尋求一個平衡點

眾所周知,索引本身并不影響數(shù)據(jù)庫的使用,其主要是為了提高Oracle數(shù)據(jù)庫的查詢效率。但是,由于當數(shù)據(jù)庫的表中的數(shù)據(jù)更新的時候,包括記錄的增加、刪除、更改等等,都會對雖有的索引進行更新。

很明顯,索引雖然可以提高查詢速度。但是,也會對一些表的更新操作產(chǎn)生不良的影響。當在表中建立的索引越多,這個不利影響也會越大。故Oracle數(shù)據(jù)庫管理員在設(shè)置索引的時候,還需要注意,在這兩個之間需要一個均衡點。

按照一般的理論來說,當某個表多數(shù)用來查詢、更新相對來說比較上的話,則要多多采用索引。相反,當某個表記錄更新居主導,查詢相對來說比較少的話,則不要建立太多的索引,避免對更新的速度差生不利影響。在實際工作中,若某個表頻繁的被視圖所調(diào)用的話,則最好就好設(shè)置比較多的索引了。

 

 【編輯推薦】

  1. Oracle clob實際相關(guān)代碼的解析
  2. Oracle數(shù)據(jù)庫“總頭”收購Java運用中的難題
  3. Oracle Date格式的實際應(yīng)用
  4. Oracle 8i更新相關(guān)類型中出現(xiàn)亂碼問題的解決
  5. Oracle Java虛擬機 JRockit 集成的實際應(yīng)用
責任編輯:佚名 來源: 博客園
相關(guān)推薦

2010-04-20 11:06:33

Oracle索引

2010-04-15 14:30:35

Oracle創(chuàng)建

2010-04-13 18:03:33

Oracle服務(wù)

2010-06-04 16:12:39

MYSQL_ASSOC

2010-04-01 14:06:13

Oracle Name

2010-05-10 10:19:28

Oracle實戰(zhàn)RMA

2010-03-31 16:11:00

Oracle啟動

2010-04-01 13:39:43

Oracle Name

2010-04-14 17:06:41

Oracle安裝路徑

2010-04-16 13:59:40

Oracle數(shù)據(jù)

2010-04-02 13:34:33

Oracle DBA

2010-04-07 13:02:14

Oracle 存儲過程

2010-03-29 15:57:07

Oracle exp備

2010-04-12 14:44:06

Oracle Impd

2010-07-07 11:03:21

SQL Server索

2010-04-01 16:06:08

Oracle修改表ow

2010-04-14 09:33:58

Oracle Spat

2010-04-06 08:58:27

Oracle job

2010-04-02 15:53:36

Oracle綁定變量

2010-04-15 14:47:50

Oracle 10g
點贊
收藏

51CTO技術(shù)棧公眾號