oracle多表查詢優化

2021-07-08 17:52:25 字數 703 閱讀 5428

用select 時,少用* 多用字段

select name,code from table, ;-------------------select * from table

select  count(*) from table1 ,tabale2--------------table2的記錄數比table1的記錄少,查詢速度快

如果要是三張表,其中乙個是中間表的話,中間表放在最右邊,

少用in,多用exsits

、少用in,多用exists來代替

--

no.1

in的寫法

select

*from tablea a where

a.id in (select id form tableb b where b.id

>1)

--no.

2exists 寫法

select

*from tablea a where

exists (select

1from tableb b where a.id

=b.id and b.id

>1)

select * from t_c04_county  a where exists (select 1 from t_c03_city b where a.ys_city_code=b.ys_city_code ) 

ORACLE多表查詢優化

oracle有個高速緩衝的概念,這個高速緩衝就是存放執行過的sql語句,那oracle在執行sql語句的時候要做很多任務作,例如解析sql語句,估算索引利用率,繫結變數,讀取資料塊等等這些操作。假設高速緩衝裡已經儲存了執行過的sql語句,那就直接匹配執行了,少了步驟,自然就快了,但是經過測試會發現高...

Oracle多表查詢的優化

1,重複性查詢 當你向oracle提供乙個sql的時候,oracle會首先在相應的記憶體中查詢這條語句,如果匹配到,就能直接返回結果,這樣就能節省記憶體和提高資料訪問效率。但是匹配sql語句需要注意以下幾點 1 字元級的比較 sql語句和共享池中的語句必須完全相同才能匹配完整,尤其注意大小寫和空格 ...

Oracle 多表查詢

sql 外連線 sql 按部門統計員工人數 部門號 部門名稱 人數 sql select d.deptno,d.dname,count e.empno 2 from dept d,emp e 3 where d.deptno e.deptno 4 group by d.deptno,d.dname ...