欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle數(shù)據(jù)庫系統(tǒng)使用經(jīng)驗六則

 更新時間:2007年03月07日 00:00:00   作者:  
正在看的ORACLE教程是:Oracle數(shù)據(jù)庫系統(tǒng)使用經(jīng)驗六則。

 1.having 子句的用法 

  having 子句對 group by 子句所確定的行組進行控制,having 子句條件中只允許涉及常量,聚組函數(shù)或group by 子句中的列. 

  2.外部聯(lián)接"+"的用法 

  外部聯(lián)接"+"按其在"="的左邊或右邊分左聯(lián)接和右聯(lián)接.若不帶"+"運算符的表中的一個行不直接匹配于帶"+"預算符的表中的任何行,則前者的行與后者中的一個空行相匹配并被返回.若二者均不帶'+',則二者中無法匹配的均被返回.利用外部聯(lián)接"+",可以替代效率十分低下的 not in 運算,大大提高運行速度.例如,下面這條命令執(zhí)行起來很慢 


  倘若利用外部聯(lián)接,改寫命令如下: 


  可以發(fā)現(xiàn),運行速度明顯提高. 

  3.刪除表內重復記錄的方法 

  可以利用這樣的命令來刪除表內重復記錄: 


  不過,當表比較大(例如50萬條以上)時,這個方法的效率之差令人無法忍受,需要另想辦法(可參看拙文《電信計費中長途重復話單的技術處理》,《計算機與通信》,1999-07). 

[NextPage]

4.set transaction 命令的用法 

  在執(zhí)行大事務時,有時oracle會報出如下的錯誤: 


  這說明oracle給此事務隨機分配的回滾段太小了,這時可以為它指定一個足夠大的回滾段,以確保這個事務的成功執(zhí)行.例如 


  回滾段roll_abc被指定給這個delete事務,commit命令則在事務結束之后取消了回滾段的指定. 

  5.使用索引的注意事項 

  select,update,delete 語句中的子查詢應當有規(guī)律地查找少于20%的表行.如果一個語句查找的行數(shù)超過總行數(shù)的20%,它將不能通過使用索引獲得性能上的提高. 

  索引可能產(chǎn)生碎片,因為記錄從表中刪除時,相應也從表的索引中刪除.表釋放的空間可以再用,而索引釋放的空間卻不能再用.頻繁進行刪除操作的被索引的表,應當階段性地重建索引,以避免在索引中造成空間碎片,影響性能.在許可的條件下,也可以階段性地truncate表,truncate命令刪除表中所有記錄,也刪除索引碎片. 

  6.數(shù)據(jù)庫重建應注意的問題 

  在利用import進行數(shù)據(jù)庫重建過程中,有些視圖可能會帶來問題,因為結構輸入的順序可能造成視圖的輸入先于它低層次表的輸入,這樣建立視圖就會失敗.要解決這一問題,可采取分兩步走的方法:首先輸入結構,然后輸入數(shù)據(jù).命令舉例如下 (uesrname:jfcl,password:hfjf,host sting:ora1,數(shù)據(jù)文件:expdata.dmp): 


  第一條命令輸入所有數(shù)據(jù)庫結構,但無記錄.第二次輸入結構和數(shù)據(jù),64000字節(jié)提交一次.ignore=Y選項保證第二次輸入既使對象存在的情況下也能成功. 1 

上一頁    

相關文章

最新評論