Oracle資料庫系統使用經驗六則

來源:互聯網
上載者:User

正在看的ORACLE教程是:Oracle資料庫系統使用經驗六則。

 1.having 子句的用法

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

  2.外部聯結"+"的用法

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

  倘若利用外部聯結,改寫命令如下:

  可以發現,運行速度明顯提高.

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

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

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

[NextPage]

4.set transaction 命令的用法

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

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

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

  5.使用索引的注意事項

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

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

  6.資料庫重建應注意的問題

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

  第一條命令輸入所有資料庫結構,但無記錄.第二次輸入結構和資料,64000位元組提交一次.ignore=Y選項保證第二次輸入既使對象存在的情況下也能成功. 1

上一頁

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.