1.創建表的時候。應儘量建立主鍵,儘量根據實際需要調整數據表的PCTFREE和PCTUSED參數;大數據表刪除,用truncate table代替delete。
2.合理使用索引,在OLTP應用中一張表的索引不要太多。數據重複量大的列不要建立二叉樹索引,可以採用位圖索引;組合索引的列順序儘量與查詢條件列順序保持一致;對於數據操作頻繁的表,索引需要定期重建,以減少失效的索引和碎片。
3.查詢儘量用確定的列名,少用*號。select count(key)from tab where key> 0 性能優於 select count(*)from tab;
儘量少嵌套子查詢,這種查詢會消耗大量的CPU資源;對於有比較多or運算的查詢,建議分成多個查詢,用union all聯結起來;多表查詢的查詢語句中,選擇最有效率的表名順序。Oracle解析器對錶解析從右到左,所以記錄少的表放在右邊。
4. 儘量多用commit語句提交事務,可以及時釋放資源、解鎖、釋放日誌空間、減少管理花費;在頻繁的、性能要求比較高的數據操作中,儘量避免遠程訪問,如數據庫鏈等,訪問頻繁的表可
以常駐內存:alter table...cache
5.在Oracle中動態執行SQL,儘量用execute方式,不用dbms_sql包。