列索引(快) ——》全域性索引 (慢)
劣質sql及修改 :1> where 子句中使用了 is null | is not null
(oracle不允許使用索引)
2> where 子句前置萬用字元不能使用索引,降低查詢速度
3> order by 子句使用表示式
4> not 使用單一的not 或 column <> parameter 不能使用索引
應替換成 column<='parameter' or column>=parameter 就可以使用當前字段索引
5> exists 相比於in的效率高 (遍歷主表,主表通過關聯子表的列名的值過濾資訊)
同樣not exists 比not in 的效率高
6> from 後查詢兩個表的時候 , 資料少的作為基礎表 ,即 from tab1 tab2 base_tabs
後查詢3個表的時候,選擇交叉表作為基礎(被其他表引用的表,即關聯其他兩張表的)
7> where 子句連線順序 自上而下 所以最大資料量條件的應至於where句末
8> * 避免在select後面使用*,oracle會查資料字典獲取所有列名
9> 減少訪問資料庫次數 盡量使用decode函式方法 (相當於一條if)
decode可以結合order by 和group by 使用
10> 刪除重覆記錄方法
delete from emp e where e.rowid >(select min(x.rowid) from rmp x where x.emp_no = e.emp_no)
11> 多使用commit釋放資源
12> 計算記錄條數,count(index) > count(*) > count(1) 無顯著速度差異
13> 減少對錶的查詢 (a,b)= (select a1,b1 from emp)
14> 使用別名減少解析時間
15> 採用表連線 效率高於 exists
16> 使用in和union all替換or
17> where後 order by 大資料範圍滯後,小資料範圍在前。
18> 索引只能確定存在於表中
19> ||連線字串也將不實用索引
20> 優化group by 在執行此命令之前,將不需要的記錄過濾掉
21> 表空間和索引至於不同的硬碟上
初折騰Oracle問題小記四
今天打算讓 8國語言版本部落格 支援下oracle,於是,就又產生了一堆問題及總結 1 如何從mssql中調取表構造到oracle,關於這個,我用上了資料匯出功能,遇到以下問題 解決 把記住密碼打勾。靠 太陽。b 表資料型別問題 預設nvarchar n 語句寫成 nvarchar2型別,需要增加字...
初折騰Oracle問題小記四
今天打算讓 8國語言版本部落格 支援下oracle,於是,就又產生了一堆問題及總結 1 如何從mssql中調取表構造到oracle,關於這個,我用上了資料匯出功能,遇到以下問題 a 在測試資料庫鏈結時,有個 記住密碼 太陽,我一開始沒打勾,測試鏈結成功,可是下一步就提示出錯。解決 把記住密碼打勾。靠...
app編寫時注意的問題
1.判斷是否處於登入狀態,可通過判斷本機記憶體中的登入標誌完成。2.某些ajax訪問,可放在單獨的js檔案中。二 登入 index頁面判斷登入,如沒登入,採用mui.preload載入登入頁面。var webview mui.preload login頁面按下登入鍵後,要對登入名和密碼是否為空進行檢...