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

Oracle中存儲過程和Sql語句的優化重點

數據庫 Oracle
Oracle數據庫是功能性很好的數據庫管理系統,至今為止在數據庫市場中仍占有主要份額,下文中將為大家講解Oracle中存儲過程和Sql語句的優化重點 ,希望對大家能夠有所幫助。

Oracle數據庫是功能性很好的數據庫管理系統,至今為止在數據庫市場中仍占有主要份額,下文中將為大家講解Oracle中存儲過程和Sql語句的優化重點 ,希望對大家能夠有所幫助。

1.全表掃描和索引掃描

大數據量表盡量要避免全表掃描,全部掃描會按順序每條記錄掃描,對于>100萬數據表影響很大。

 

Oracle中通過RowID訪問數據是最快的方式

 

對字段進行函數轉換,或者前模糊查詢都會導致無法應用索引而進行全表掃描

 

對Oracle共享池和緩沖區中的Sql必須要大小寫都完全用上才能夠匹配上

 

2.順序問題

 

Oracle按照從右到左的順序對數據表進行解析。因此From最后面的表為基礎表,一般要選擇記錄數最少的表作為基礎表。

 

對于Where條件的順序,過濾到最大查詢記錄數量的條件必須寫在Where條件的結尾處。

 

Where條件中涉及到使用復雜函數判定的必須注意要寫到Where條件的最前面

 

3.索引方面

 

記錄數少的表保留有主鍵索引就可以了,不要再去建其它索引,全表掃描也很快

 

索引最好單獨建立表空間,必要時候對索引進行重建

 

必要時候可以使用函數索引,但不推薦使用

 

Oracle中的視圖也可以增加索引,但一般不推薦使用

 

Sql語句中大量使用函數時候會導致很多索引無法使用上,要針對具體問題分析

 

4.其它

避免使用Select ,因為系統需要去幫你將轉換為所有的列名,這個需要額外去查詢數據字典。

 

Count(1)和Count()差別不大。

 

多使用Decode函數來作簡單的代碼和名稱間的轉換,以減少表關聯

 

使用Truncate替代delete來刪除記錄,但Truncate數據不記錄日志,無法進行回滾

 

對于復雜的存儲過程可以多次提交的數據的要多分多次Commit,否則長事務對系統性能影響很大

 

Distinct和Having子句都是耗時操作,應該盡可能少使用

 

在不需要考慮重復記錄合并時候用Union All來代替Union

 

使用顯性游標而不使用隱性游標,特別是大數據量情況下隱性游標對性能影響很大

 

是否使用函數的問題

 

用直接的表關聯來代替Exist.用Exist或Not Exists來代理In。In進行子查詢效率很差。

 

5.SQL語句分析

 

通過SQLPLUS中的SET TRACE 功能對Sql語句的性能進行分析

 

通過Toad或PL/SQL Developer對語句的性能進行和索引的使用情況進行分析

 

對Oracle缺省的優化不滿意可以強制使用Hint,但一般不推薦使用

 

對Flag等只存儲是或否信息的字段,一般不推薦建立索引。必要可以采用位圖索引

 

存在遞歸查詢情況如果關聯Table太多對性能會造成較大影響,往往推薦采用臨時表轉為分步驟操作提高性能

 

盡量使用表關聯查詢而不使用函數,但涉及類似于代碼表要重復關聯多次取數據問題時候又適合使用函數

上文中就Oracle中存儲過程和Sql語句的優化重點作出了詳細的講解,希望大家都能夠從中有所收獲,這樣,在以后的工作中遇到類似問題就能夠輕松解決。

 

責任編輯:迎迎 來源: 中國IT實驗室
相關推薦

2009-11-05 18:07:33

Oracle導出sql

2010-09-07 15:12:25

SQL語句優化

2011-04-11 17:28:50

oracle存儲select語句

2011-03-31 10:38:28

SQL Server編寫優化

2010-04-13 15:04:16

Oracle優化

2010-04-16 12:58:48

Oracle sql

2010-09-07 11:41:24

SQL語句

2010-04-29 14:06:40

Oracle SQL

2017-08-07 15:52:33

Oracleonnect by優化

2010-11-12 12:01:08

Oracle存儲過程

2010-09-10 14:09:23

2010-09-03 15:08:03

SQLselect語句

2010-09-06 11:24:32

SQL Server語句

2009-03-04 09:06:56

優化sqlOracle

2010-09-07 16:46:56

SQL語句nsert

2010-09-25 16:00:38

sql存儲過程

2010-07-06 14:06:52

SQL Server存

2009-01-14 09:28:12

OracleSQL10g

2010-04-12 16:12:07

Oracle HINT

2010-04-12 10:53:07

Oracle SQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中国一级大毛片 | 天天操综合网站 | 亚洲欧美日韩国产综合 | av在线亚洲天堂 | 国产在线观看一区 | 毛片一区二区 | 国产成人久久精品一区二区三区 | 欧美日韩一 | 91久久国产综合久久 | 亚洲精品一区二区三区在线观看 | 97福利在线| 国产高清视频在线观看 | 青青草视频免费观看 | 欧美第一区 | 午夜精品久久久久久久久久久久 | 国产亚洲精品久久久久动 | 日韩成人免费 | 国产在线一区二区三区 | 亚洲综合大片69999 | 在线国产小视频 | 精品美女视频在免费观看 | 免费看91 | 亚洲狠狠 | 中文字幕在线免费视频 | 成人国产精品久久久 | 亚洲一区视频 | 久久曰视频 | 亚洲精品中文字幕 | 国产精品一二三区 | 国产特一级黄色片 | 福利社午夜影院 | 欧美日韩亚洲国产 | 欧美成人a∨高清免费观看 老司机午夜性大片 | 91久久国产综合久久 | 精品国产乱码久久久久久图片 | 欧美视频在线一区 | 久久综合一区 | 日韩精品在线一区二区 | 久久99久久98精品免观看软件 | 国产一区二区三区免费观看视频 | 中国免费黄色片 |