為什麼有時Oracle資料庫不用索引來尋找資料?

CBO自ORACLE 7版被引入,ORACLE自7版以來採用的許多新技術都是基於CBO的,如星型串連排列查詢,雜湊串連查詢,和並行查詢等。CBO計算各種可能“執行計畫”的“代價”,即cost,從中選用cost最低的方案,作為實際運行方案。各“執行計畫”的cost的計算根據,依賴於資料表中資料的統計分布,ORACLE資料庫本身對該統計分布並不清楚,須要分析表和相關的索引,才能搜集到CBO所需的資料。

ORACLE常見異常及處理

1.  ORA-01403:no data found情境:在一個預存程序中,調用另一個預存程序,其中有一句話是 select a into b from table;當查詢出來的a沒有資料時,這個時候就會拋出這個異常:ORA-01403:no data found 。處理:    1.捕獲異常,用exception when no_data_found then  處理一下。    2.select count(*) field into var from table where ....  

Oracle調優–修改Oracle的進程數[processes]及會話數[sessions]

1.通過SQLPlus修改Oracle的sessions和processes的關係是         sessions=1.1*processes + 5使用sys,以sysdba許可權登入:SQL> show parameter processes;NAME                                 TYPE        VALUE ------------------------------------ ----------- -----------------

用DBMS_JOB實現ORACLE的定時任務

實現程式碼範例:    VARIABLE jobno number;       begin         DBMS_JOB.SUBMIT(:jobno,//設定job號                      'Procdemo;',//設定執行的內容,一般是一個預存程序,寫過程名加';'即可,                                    注意: 如果是調用其他使用者[空間]下面的預存程序,則寫為                                  

Oracle導資料

-----------執行SQL檔案----------sql> @D:/db/mysql.sql 斷行符號---------登入資料庫命令---------conn system/manager@ora9i---------匯出儲存空間資料--------exp scott/tiger@ora9i file=D:/oracleBak/scott.dmp log=D:/oracleBak/scott.log;---------匯入儲存空間的資料備份檔案--------imp scott/t

Related to Oracle SQL 關於遇到Number型與varchar2型比較時的隱式轉換引起的生產問題

寫了這麼多其實就是想說, 一定慎用隱式轉換,這就好像是一顆定時炸彈。。 前天臨下班,突然接到電話說網路報銷系統預約報銷功能出現問題,急需解決。琢磨一下。。最近好像沒有功能更新,用了那麼久怎麼會突然不好使了呢,心想應該不是什麼大問題,一會就能搞定。可是進入開發環境,看到錯誤碼我楞了一下。。SQL錯誤,還是INVALID NUMBER..怎麼可能啊。錯誤是一個預存程序運行中出現的,fetch

開源版qt串連oracle資料庫成功了!

     以前我在網站上聽別人說,什麼開源版的qt不能串連oracle資料庫,正常自己編譯出串連oracle的驅動也不行,今天我要說可以的。     首先要好準備工作,安好qt,oracle的伺服器,接著編譯Oracle的驅動,這跟編譯mysql的步驟差不多的,這裡我給幾個串連吧!編譯oracle的驅動,下驅動   

ORACLE函數使用

--如果WARE_ID 沒有資料,則為1SELECT nvl(a.WARE_ID,1) FROM DTF_TEST a;--移動表到哪個分區 tablename 表名 new_name 分區名--alter table tablename move TABLESPACE new_name Storage(initial 50M next 50M pctincrease 0 pctfree 10 pctused 50 initrans 2) NOLOGGING;--移動分區的文法 alter

ORACLE表分區

--按表中資料量分區 less than 小於 最大值如果3,這個分區只能存入兩條資料----30000000----60000000--create table dtf_test (    dtf_id number primary key,    item_id number(8) not null,    item_description varchar2(300),    dtf_date date not null ) partition by range (dtf_id) (    

ORACLE 匯入匯出資料庫命令

●1.匯出資料庫表語句。exp dzjc/dzjc@orcl_127.0.0.1 tables=SYSDEPARTMENT file=c:\SYSDEPARTMENT.dmp buffer=40960exp riseapprove/risenet@orcl tables=RISENET_EMPLOYEE file=c:\123.dmp buffer=40960exp taicang/taicang@tcxm_10.35.0.91 tables=articleinfo file=c:\200711

ORACLE 表是否被鎖和解鎖方法

SELECT S.SID SESSION_ID,       S.USERNAME,       DECODE(LMODE,              0,              'None',              1,              'Null',              2,              'Row-S (SS)',              3,              'Row-X (SX)',              4,           

ORACLE進階之二:LOCK

 資料庫是一個多使用者使用的共用資源。當多個使用者並發地存取資料時,在資料庫中就會產生多個事務同時存取同一資料的情況。若對並行作業不加控制就可能會讀取和儲存不正確的資料,破壞資料庫的一致性。 加鎖是實現資料庫並發控制的一個非常重要的技術。當事務在對某個資料對象進行操作前,先向系統發出請求,對其加鎖。加鎖後事務就對該資料對象有了一定的控制,在該事務釋放鎖之前,其他的事務不能對此資料對象進行更新操作。 在資料庫中有兩種基本的鎖類型:排它鎖(Exclusive

ORACLE進階之一:HINT

 最近由於需要經常統計資料,需要經常用到hint,又不好意思每次都去麻煩DBA,所以在與DBA交流之後,整理了一份關於我們寫ORACLE SQL語句時最常用到的hint使用方法: 另外,我們以前的流程都是等應用發布之前,統一提交DBA check,然後再由開發人員修改;但是如果我們開發人員在寫這些語句的時候可以知道這些hint的常規用法,這樣在和dba check的時候會大大降低返工率,而且不止會知其然,還會知其所以然!呵呵,何樂而不為呢!hint中我們最常用到的有ordered、use_nl、

ORACLE進階之三:分析函數

有時候我們需要從DB中提取一些很複雜的資料,而標準SQL卻對此無能為力,或者是執行效率非常的低;比如我們需要提取如下資料:    逐行顯示各個部門的累計工資,每行包括部門內前面所有人的工資總和;    尋找各個部門工資最高的前N個人;    ……文法 Function名稱([參數]) OVER ([partition 子句][ order 子句] [window 子句]) 

Redhat Linux 9下安裝Oracle 9i圖文教程

在Liunx下安裝Oracle資料庫軟體對於初學者來說是一件不容易的事,本菜鳥在折騰了許久後安裝成功,中間過程不敢獨享,公布出來分享一下.有問題的地方還請各位大俠指正. 準備工作   系統版本:Redhat Linux Enterprise 4   核心版本:2.6.9-5   Oracle版本:9.2.4   記憶體容量:512M   硬碟容量:16G 一:安裝Linux系統,放入Linux第一張光碟片,設定BIOS從光碟片引導,啟動後進入如下介面:  

Oracle安裝(linux)總結

linux下oracle安裝: Oracle公司宣稱在Linux下安裝Oracle9i資料庫至少要有512MB的記憶體和至少1GB或者兩倍      記憶體大小的交換空間,對於系統記憶體大於2GB的伺服器,交換空間可以介於2GB—4GB之間。      如果是為了在一台僅有256M記憶體的普通PC機上試用Oracle9i,在分配了1GB左右的交換空間的情況下,也可以正常運行Oracle數      據庫。     

精簡版ORACLE用戶端程式

精簡版ORACLE用戶端程式 http://blog.chinaitlab.com/user1/22250/archives/2005/21288.html Richard_Chen 發表於 2005-10-18 9:28:00

ORACLE中比較重要的幾條知識點

我設計的幾題ORACLE面試題1. 何謂oracle中的裸裝置?答:裸裝置是指繞過檔案系統直接存取的儲存空間2.如何良好的分辨使用者從哪台機器登陸ORACLE?答:SELECT machine , terminal FROM V$SESSION;3.如何取得觸發器、過程、函數的建立指令碼?答:desc user_sourceuser_triggers4.如何查看最大會話數?SELECT * FROM V$PARAMETER WHERE NAME LIKE

一些經常出現的ORACLE考試題

 下面是我整理的一些ORACLE筆試題與答案。1.建立資料表空間neuspace,資料檔案命名為neudata.dbf,存放在d:\data目錄下,檔案大小為200MB,設為自動成長,增量5MB,檔案最大為500MB。答:create tablespace neuspace datafile ‘d:\data\neudata.dbf’ size 200m auto extend on next 5m maxsize 500m;2.

總頁數: 1509 1 .... 483 484 485 486 487 .... 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.