Oracle效能優化,oracle group by 效能優化

時間 2021-08-11 17:27:26

1樓:匿名使用者

嘗試下下面的方法;

1、測試你create table xx nologging as select 所有結果集所用的時間,如果這個時間在你可接受的範圍之內的話,你就分兩步進行 先建立這表,然後從這個表插入到你想要的表裡面

2、如果建立表的時間很短,但是插入的時間很長,應該是資料庫的臨時表空間太小了(lz的select的語句需要排序會需要很多表空間的)解決的辦法是增加臨時表空間;當然如果沒有條件的話,就對於xx表在生成的時候增加一個欄位根據rownum分組 比如 1-5000條這個欄位是1 5001-10000這個欄位是2 ,然後寫一個儲存過程根據這個欄位的值 分批次插入,好處是分批次提交,減少臨時表空間的佔用,也可以解決假死的問題;

那這個問題就是select語句的問題了,只能從sql語句上優化下了

select 語句的話 mfo.dir_lbr@hfdb 這個你是通過dblink去訪問遠端資料庫嗎 為什麼都要加@

如果是遠端訪問的話 建議可以對這幾張表在遠端做一個檢視(可以是查詢結果集的檢視),然後這邊只要查詢這個檢視,應該會快點,注意遠端檢視是用不到索引的

2樓:匿名使用者

先刪掉索引,再insert

3樓:匿名使用者

你的資料庫太大了吧 建議你建立個檢視,這樣查詢要快點

oracle group by 效能優化

4樓:匿名使用者

(1) 選擇最有效率的表名順序

oracle中sum如何使用,在oracle中按要求統計行數,怎麼運用sum和count函式?

select 分組的列,sum 要求和的列 from 表group by 分組的列 如 select 地區,sum 銷售額 from 銷售表group by 地區 按地區分組,把每個組即每個地區的銷售額求和。 拾 忔 sum 是求和函式 例如 select sum 需要求和的列名 from tabl...

oracle中怎麼給列名取別名,oracle中的欄位別名與表別名的命名規則,就是要不要加 as 要不要雙引號

你第一句寫錯了吧,把 號去掉 select sum decode slevel,中級 1,0 員工數 from employee 或者select sum decode slevel,中級 1,0 as 員工數 from employee 都可以第二個也可以這樣 你看看這樣 select sname...

oracle資料庫各版本的區別,Oracle資料庫各版本的區別?

一騎當後 oracle資料庫軟體分個人版 標準版1 標準版 企業版。各自的區別如下 1 標準版1 standard edition one 適用於1 2cpu的伺服器,有相當的優勢,但僅限單機環境,適用於中小型使用者入門級應用 2 標準版 standard edition 適用於1 4cpu的伺服器...