oracle 效能最佳化操作十: 分解複雜查詢,用常量代替變數

標籤:對於複雜的Where條件組合,Where中含有多個帶索引的欄位,考慮用IF語句分情況進行討論;同時,去掉不必要的外來參數條件,減低複雜度,以便在不同情況下用不同欄位上的索引。繼續“oracle 效能最佳化操作九”的例子,對於包含Where (DisposalCourseFlag < v_DisPosalCourseFlag) or (v_DisPosalCourseFlag is null) and ....的查詢,(這裡v_DisPosalCourseFlag為一個輸入變數,取&#

oracle 效能最佳化操作十一: like子句盡量前端匹配

標籤:因為like參數使用的非常頻繁,因此如果能夠對like子句使用索引,將很高的提高查詢的效率。例:select * from city where name like ‘%S%’;以上查詢的執行計畫用了全表掃描(TABLE ACCESS FULL),如果能夠修改為:select * from city where name like ‘S%’;那麼查詢的執行計畫將會變成(INDEX RANGE SCAN),成功的利用了name欄位的索引。這意味著Oracle

oracle 效能最佳化操作十二: 用Case語句合并多重掃描

標籤:我們常常必須基於多組資料表計算不同的聚集。例如下例通過三個獨立查詢:select count(*) from emp where sal<1000;select count(*) from emp where sal between 1000 and 5000;select count(*) from emp where sal>5000;這樣我們需要進行三次全表查詢,但是如果我們使用case語句:select count (sale when sal

oracle 效能最佳化操作十四: 使用基於函數的索引

標籤:前面談到任何對列的操作都可能導致全表掃描,例如:<span style="font-size:18px;">select * from emp where substr(ename,1,2)=’SM’;</span>但是這種查詢又經常使用,我們可以建立一個帶有substr函數的基於函數的索引,<span style="font-size:18px;">create index emp_ename_substr

Oracle基礎 shutdown和startup

標籤:一、shutdown命令:SHUTDOWN有四個參數:NORMAL、TRANSACTIONAL、IMMEDIATE、ABORT。預設不帶任何參數時表示是NORMAL。 SHUTDOWN NORMAL:不允許新的串連、等待會話結束、等待事務結束、做一個檢查點並關閉資料檔案。啟動時不需要執行個體恢複。 SHUTDOWN TRANSACTIONAL:不允許新的串連、不等待會話結束、等待事務結束、做一個檢查點並關閉資料檔案。啟動時不需要執行個體恢複。 SHUTDOWN

【Oracle】oracle中快速判斷某一日期是閏年或平年

標籤:select case when to_char(last_day(add_months(trunc( sysdate ,‘y‘),1)),‘dd‘) = ‘28‘ then ‘平年‘ else ‘閏年‘ end as isLeapYearfrom dual第一步:取日期的年初日期;第二步:年初日期增加一個月即概念2月;第三步:取概念2月的最後一天的日進行判斷,如為28則平,如為29則閏--------------------------------------

oracle unknown host specified 解決方案

標籤:oracle 還原 unknown host specified今天還原oracle 11 G到oracle 10G上,首先出現了版本不匹配的問題。此問題使用 http://hundage.blog.51cto.com/3779401/1285465   中的解決方案可以解決。解決標頭檔驗證失敗的問題後,執行還原命令總是提示使用者不存在。在運行對話方塊中輸入 cmd > sqlplus /nolog >conn sys/manager as sysdba;

Oracle 常用函數之字元函數

標籤:1、字串截取substr( string, start_position, [ length ] )例:select substr(‘Hello World‘, 1, 2) from dual; --返回結果為 ‘He‘ 註:從字串第一個字元開始截取長度為2的字串select substr(‘Hello World‘, 0, 2) from dual; --返回結果為 ‘He‘

Oracle動態SQL語句

標籤:動態SQL返回遊標:create or replace procedure proc_ValidityDueQuery( p_regioncode in number, p_pscode in number, p_outputcode in number, p_pollutantType in number, p_psclasscode in varchar2, p_attencode in

Oracle Minus 取差集

標籤:Oracle Minuskeyword  SQL中的MINUSkeyword  SQL中有一個MINUSkeyword,它運用在兩個SQL語句上,它先找出第一條SQL語句所產生的結果,然後看這些結果有沒有在第二個SQL語句的結果中。假設有的話,那這一筆記錄就被去除,而不會在最後的結果中出現。假設第二個SQL語句所產生的結果並沒有存在於第一個SQL語句所產生的結果內,那這筆資料就被拋棄,其文法例如以下:  [SQL Segment 1]  MINUS  [SQL Segment 2]----

oracle 效能最佳化操作五:盡量去掉 "<>"

標籤:oracle 效能最佳化操作五:盡量去掉 "<>"盡量去掉 "<>",避免全表掃描,如果資料是枚舉值,且取值範圍固定,則修改為"OR"方式。例:<span style="font-size:18px;">UPDATE SERVICEINFO SET STATE=0 WHERE

oracle 效能最佳化操作七:索引提高資料分布不均勻時查詢效率

標籤:索引的選擇性低,但資料的值分布差異很大時,仍然可以利用索引提高效率。A、資料分布不均勻的特殊情況下,選擇性不高的索引也要建立。表ServiceInfo中資料量很大,假設有一百萬行,其中有一個欄位DisposalCourseFlag,取值範圍為枚舉值:[0,1,2,3,4,5,6,7]。按照前面說的索引建立的規則,“選擇性不高的欄位不應該建立索引”,該欄位只有8種取值,索引值的重複率很高,索引選擇性明顯很低,因此不建索引。

oracle 函數學習 Oracle10g學習系列(7)

標籤:oracleOracle函數有字元函數、數學函數、日期函數和轉換函式。我只瞭解了字元函數和數學函數。一、字元函數:lower(char)  將字串轉化為小寫格式SQL> select lower(ename),ename from emp;LOWER(ENAME) ENAME------------ ----------smith        SMITHallen      

將資料從MySQL遷移到Oracle的注意事項

標籤:oracle   mysql   將資料從MySQL遷移到Oracle的注意事項1.自動成長的資料類型處理MYSQL有自動成長的資料類型,插入記錄時不用操作此欄位,會自動獲得資料值。ORACLE沒有自動成長的資料類型,需要建立一個自動成長的序號,插入記錄時要把序號的下一個值賦於此欄位。CREATE SEQUENCE 序號的名稱 (最好是表名+序號標記) INCREMENT BY 1

Oracle 支援在具有 DHCP 分配的 IP 位址的系統上進行安裝

標籤:今天在安裝Oracle 10g的時候,遇到了“ Oracle 支援在具有 DHCP 分配的 IP 位址的系統上進行安裝” 這個問題,經過搜尋,找到瞭解決方案,具體如下:win7下右鍵單機"我的電腦"選擇“裝置管理員”

【Oracle】oracle之listagg分析函數

標籤:oracle分析函數——listagg篇 (1)使用listagg將多行資料合併到一行例表:select deptno, ename from emp order by deptno, ename假設有一個需求,需要將emp表中相同部門的僱員姓名存放到一行中,不同的姓名用逗號“,”分隔,結果如:我們可以用oracle11g裡面的分析函數listagg來實現,SQL語句如下:select deptno,

oracle 交易處理 注意事項(筆記)

標籤:事務:一個獨立的邏輯工作單元。它有特定的一系列必須作為一個整體一起成功或者失敗的SQL語句組成。是一個要麼全有要麼全無,很個性的一個東東。 事務的四大屬性——ACID屬性:原子性(atomicity)、一致性(consistency)、隔離性(isolation)、持久性(durability)  原子性:事務中的所有任務都必須執行,或者不執行。不存在部分事務。  一致性:事務將資料庫從一個一致性狀態帶到另一個一致性狀態。  隔離性:一個事務所帶來的影響知

Oracle學習之簡單查詢

標籤:使用scott使用者下的表,1.查詢所有內容SELECT * FROM emp;2.查詢員工資訊,包括員工編號,姓名,職位3個資訊SELECT empno,ename,job FROM emp;3.查詢所有職位SELECT JOB FROM emp;4.查詢所有職位並去掉重複用DISTINCTSELECT DISTINCT job FROM emp;5.查詢員工編號,姓名,職位SELECT empno,ename,job FROM emp;6.查詢所有員工的編號,姓名,月薪,年薪sal*1

Oracle 11g調用函數幾種常用方法

標籤:1. 該函數接受3個選擇性參數,返回3個數位和  CREATE OR REPLACE FUNCTION add_three_numbers  (  a NUMBER:=0, b NUMBER:=0, c NUMBER:=0  )  RETURN NUMBER IS  BEGIN  RETURN a+b+c;  END;  ----調用FUNCTION add_three_numbers  ----1.

oracle 函數大全及運算子

標籤:一、函數1、取整  mod(2,10)=2 2、取整 trunc(12/10)=13、取整 ceil(12/10) =24、空(null)指定某個值

總頁數: 1509 1 .... 993 994 995 996 997 .... 1509 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.