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

Oracle數據庫一些不常見但很重要的使用技巧總結篇

數據庫 Oracle
本文主要介紹了Oracle數據庫的一些使用技巧的總結,這些技巧可能我們不常見,但是確實非常有用的,希望能對各位有所幫助。

Oracle數據庫使用過程中,有一些技巧是使用過程中需要去了解和掌握的,掌握這些技巧我們在以后使用數據庫的過程中就可以避免走很多彎路,提高查詢效率。本文主要介紹一下七點技巧,希望能對各位有所幫助,接下來我們就一一介紹。

使用技巧:

1. procedure和function中的select后面不要跟變量,否則會極大的波及SQL效率

2. TRUNCATE 在procedure中無法利用,可寫成:

 

  1. EXECUTE IMMEDIATE 'truncate table smic_rtd_bullet_lot_tmp'; 

 

3. 當運行DML(數據壟斷語言,增刪改查)語句時,PL/SQL敞開一個內建游標并處理收獲,游標是維護查詢收獲的內存中的一個區域,游標在運行DML語句時敞開,告終后關閉。隱式游標只利用SQL%FOUND,SQL%NOTFOUND,SQL%ROWCOUNT三個屬性。SQL%FOUND, SQL%NOTFOUND是布爾值,SQL%ROWCOUNT是整數值。告終循環時能夠此作為退出循環的推斷規范。

4. 為了不重復解析雷同的SQL語句,在第順次解析爾后,ORACLE將SQL語句儲藏在內存中。這塊位于系統大局區域SGA(system global area)的分享池(shared buffer pool)中的內存能夠被所有的數據庫用戶分享。因而,當你厲行一個SQL語句(有時被稱為一個游標)時,萬一它和之前的厲行過的語句全面雷同,ORACLE就能很快獲得曾經被解析的語句以及良好的厲行路徑。分享的語句定然中意三個條件:

a. 字符級的比擬:目前被厲行的語句和分享池中的語句定然全面雷同。包括所有的空格和字母大小寫。

b. 兩個語句所指的對象定然全面雷同。例如兩個用戶對于統一個表,一個是table owner,一個是引用同義詞,那么是無法SQL分享的。

c. 兩個SQL語句中定然利用雷同的名字的綁定變量。凡是變量名字雷同,即便在運行時,賦于不同的綁定變量雷同的值也是能夠的。

統一SQL在一個session多處利用,萬一多次改變,經常因為空格和字母大小寫不統一導致SQL未曾分享。利用 WITH a AS (SELECT * FROM ……) 將查詢命名為a,爾后能夠將a當做SQL利用,能夠確保順次解析多次利用,能夠長進效率。

5. 凡是有可能,在過程中盡量多利用COMMIT,這么過程的功能獲得長進,需求也會因為COMMIT所釋放的資源而收縮:

COMMIT所釋放的資源:

a. 回滾段上用于復如數據的消息。

b. 被過程語句獲得的鎖。

c. redo log buffer 中的空間。

d. ORACLE為管教上述3種資源中的內部花費。

在利用COMMIT時定然要當心到事務的全面性,切實中效率和事務全面性經常是魚和熊掌不可得兼。

6. 穿越內部函數長進SQL效率。

 

  1. SELECT H.EMPNO,E.ENAME,H.HIST_TYPE,T.TYPE_DESC,COUNT(*)  
  2.  
  3. FROM HISTORY_TYPE T,EMP E,EMP_HISTORY H  
  4.  
  5. WHERE H.EMPNO = E.EMPNO  
  6.  
  7. AND H.HIST_TYPE = T.HIST_TYPE  
  8.  
  9. GROUP BY H.EMPNO,E.ENAME,H.HIST_TYPE,T.TYPE_DESC; 

 

穿越調用下面的函數能夠長進效率。

 

  1. FUNCTION LOOKUP_HIST_TYPE(TYP IN NUMBER) RETURN VARCHAR2  
  2.  
  3. AS  
  4.  
  5. TDESC VARCHAR2(30);  
  6.  
  7. CURSOR C1 IS  
  8.  
  9. SELECT TYPE_DESC  
  10.  
  11. FROM HISTORY_TYPE  
  12.  
  13. WHERE HIST_TYPE = TYP;  
  14.  
  15. BEGIN  
  16.  
  17. OPEN C1;  
  18.  
  19. FETCH C1 INTO TDESC;  
  20.  
  21. CLOSE C1;  
  22.  
  23. RETURN (NVL(TDESC,尼康鏡頭’?’));  
  24.  
  25. END;  
  26.  
  27. FUNCTION LOOKUP_EMP(EMP IN NUMBER) RETURN VARCHAR2  
  28.  
  29. AS  
  30.  
  31. ENAME VARCHAR2(30);  
  32.  
  33. CURSOR C1 IS  
  34.  
  35. SELECT ENAME  
  36.  
  37. FROM EMP  
  38.  
  39. WHERE EMPEMPNO=EMP;  
  40.  
  41. BEGIN  
  42.  
  43. OPEN C1;  
  44.  
  45. FETCH C1 INTO ENAME;  
  46.  
  47. CLOSE C1;  
  48.  
  49. RETURN (NVL(ENAME,’?’));  
  50.  
  51. END;  
  52.  
  53. SELECT H.EMPNO,嬰兒奶粉排行榜LOOKUP_EMP(H.EMPNO),  
  54.  
  55. H.HIST_TYPE,LOOKUP_HIST_TYPE(H.HIST_TYPE),COUNT(*)  
  56.  
  57. FROM EMP_HISTORY H  
  58.  
  59. GROUP BY H.EMPNO , H.HIST_TYPE; 

 

許多人適應性想用一個SQL寫出必需的數據,殊不知混雜的SQL經常獻身了厲行效率。 能夠掌握上面的利用函數處理問題的措施在切實工作中是極其故含義的。

7. 通常情形下,用UNION輪換WHERE子句中的OR將會起到較好的收獲。對索引列利用OR將造成全表掃描。當心,以上法定只針對多個索引列管用。萬一有column未曾被索引,查詢效率可能會因為你未曾抉擇OR而減退。

關于Oracle數據庫的使用技巧就介紹到這里,如果您想了解更多關于Oracle數據庫的知識,不妨看一下這里的文章:http://database.51cto.com/oracle/,相信會給各位帶來收獲的!

【編輯推薦】

  1. 談一談兼容Oracle和DB2開發時的注意事項
  2. 用mysqldumpslow分析執行較慢的SQL語句
  3. 在SQL觸發器或存儲過程中獲取登錄用戶信息
  4. 局域網所有機器都能連接MySQL數據庫的設置命令
  5. 讓SQL Server Management Studio直接連接數據庫
責任編輯:趙鵬 來源: 網易博客
相關推薦

2011-07-05 11:24:52

SQL語句索引

2011-07-22 09:58:18

Oracle數據庫優化策略

2019-10-18 09:25:45

Python蘋果公司算法

2011-08-01 13:59:22

Oracle數據庫命名空間

2009-09-17 10:10:10

Oracle學習

2011-07-29 15:58:53

SGAOracle

2017-04-19 11:15:01

Oracle數據庫備份恢復

2010-09-07 11:28:15

SQL語句

2011-03-10 13:19:47

Oracle數據庫

2009-08-13 09:49:16

C#關鍵字

2011-07-12 09:47:53

WebService

2011-07-29 15:31:52

Oracle數據庫ORDER BY

2010-05-21 13:34:53

MySQL數據庫

2011-09-02 10:06:51

OracleSqlLoad常用技巧

2009-11-26 10:32:57

PHP代碼優化

2011-08-25 14:50:42

SQL Server數常用操作

2021-10-12 23:10:58

UnsafeJavaJDK

2011-03-17 14:09:25

Oracle數據庫字符

2009-06-30 14:23:02

ORACLE數據庫JSP

2020-10-19 19:25:32

Python爬蟲代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产情侣一区 | 精品欧美一区二区三区久久久 | 久久9久| 色接久久 | 亚洲人成在线播放 | 成人片免费看 | 五月婷婷中文 | 一区二视频 | 在线第一页 | 色免费在线视频 | 亚洲综合热 | 免费人成在线观看网站 | 日韩欧美一区二区在线播放 | 亚洲人精品午夜 | 国产精品久久 | 亚洲精品国产成人 | 欧美视频二区 | 激情婷婷 | 久久久蜜桃 | 中文字幕国产精品 | 欧美二级| 国产亚洲成av人片在线观看桃 | 亚洲一区二区三区在线观看免费 | 毛片视频免费观看 | 国产一区二区三区四区在线观看 | 欧洲一区二区在线 | 午夜精品久久久久久久久久久久 | 在线观看黄色 | 国产精品美女在线观看 | 不卡av在线| 亚洲国产免费 | 亚洲精品久久久一区二区三区 | 亚洲一区二区三区在线视频 | 一区二区三区在线观看视频 | 范冰冰一级做a爰片久久毛片 | 一区二区三区在线免费观看 | 中文字幕日韩一区 | 久久国产精品免费一区二区三区 | 日韩一级 | 亚洲精品国产a久久久久久 午夜影院网站 | 国产一区二区三区 |