日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Oracle中存儲過程和Sql語句的優(yōu)化重點

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

創(chuàng)新互聯(lián)公司是一家專業(yè)提供殷都企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站制作、成都網(wǎng)站設計、外貿(mào)營銷網(wǎng)站建設html5、小程序制作等業(yè)務。10年已為殷都眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。

1.全表掃描和索引掃描

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

Oracle中通過RowID訪問數(shù)據(jù)是最快的方式

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

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

2.順序問題

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

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

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

3.索引方面

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

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

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

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

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

4.其它

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

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

多使用Decode函數(shù)來作簡單的代碼和名稱間的轉換,以減少表關聯(lián)

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

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

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

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

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

是否使用函數(shù)的問題

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

5.SQL語句分析

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

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

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

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

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

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

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


本文題目:Oracle中存儲過程和Sql語句的優(yōu)化重點
路徑分享:http://www.5511xx.com/article/djcisjg.html