用select 時,少用* 多用字段
select name,code from table, ;-------------------select * from table
select count(*) from table1 ,tabale2--------------table2的記錄數比table1的記錄少,查詢速度快
如果要是三張表,其中乙個是中間表的話,中間表放在最右邊,
少用in,多用exsits
、少用in,多用exists來代替
--select * from t_c04_county a where exists (select 1 from t_c03_city b where a.ys_city_code=b.ys_city_code )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)
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 ...