一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Oracle - Oracle提高sql執行效率的心得建議

Oracle提高sql執行效率的心得建議

2019-11-29 17:44Oracle教程網 Oracle

sql執行效率一直都是為人所關注,那到底應該怎樣提高呢?有什么比較好的方法,下面與大家分享下比較不錯的建議,感興趣的朋友可以參考下,希望對大家有所幫助

代碼如下:


-->FROM子句中包含多個表的情況下,選擇記錄條數最少的表作為基礎表 

-->解析WHERE子句是自下而上的 過濾條件要有順序 

-->ORACLE會將'*'轉換成列名 

-->DELETE會在rollback segment中存放可恢復信息,可以試試TRUNCATE 

-->COMMIT會釋放:1.rollback segment 
2.被程序語句獲得的鎖 
3.redo log buffer 

-->把Alias前綴于每個Column上可以減少解析的時間 

-->ORACLE解析sql語句時會把小寫的字母轉換成大寫的再執行 

-->在索引列上使用NOT會停止使用索引轉而執行全表掃描 

-->在索引列上進行運算會停止使用索引轉而執行全表掃描 

-->使用'>=',而不是'>' 

-->where子句中'!='、'||'、'+'等符號會破壞索引 

-->IN的效率很低,IN子句將執行一個內部的排序和合并 

-->EXIST查詢更為迅速 

-->對于兩個索引列,UNION比OR效率更高 

-->IS NULL會破壞索引 

-->DISTINCT,UNION,MINUS,INTERSECT,ORDER BY等都帶有SORT功能,會耗費資源 

-->多個索引列時盡量使用第一個索引列 

-->盡量用 UNION ALL代替UNION 

-->不要用TO_NUMBER()之類的函數改變索引列的類型。 

-->對于字符類型的索引列盡量寫成:col = '123' 而不是 col = 123,后者會被解析為TO_NUMBER(EMP_TYPE)=123 

-->適當的地方使用適當的關鍵字:HAVING會在檢索出所有記錄之后對結果集進行過濾 能使用WHERE解決時不要用HAVING 

-->索引也需要維護,INSERT,DELETE,UPDATE會因索引而做出更多次I/O 

-->重構索引是必要的:ALTER INDEX <INDEXNAME> REBUILD <TABLESPACENAME> [ONLINE] 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 我和黑色丝袜班主任 | bedfriend泰剧全集免费观看 | chinese老头和老太交hd | 垫底辣妹免费观看完整版 | 国产精品一区二区不卡的视频 | 天美影视文化传媒mv免费 | 毛片a级放荡的护士hd | 九九久久精品 | 欧美日韩专区国产精品 | 小莹的性荡生活45章 | 五月色综合婷婷综合俺来也 | 波多野结衣久久国产精品 | 欧美高清在线不卡免费观看 | haodiaose在线精品免费视频 | 欧美精品国产一区二区三区 | 精品丰满人妻无套内射 | 天天做天天爱天天一爽一毛片 | 美女用手扒自己下部 | 国产高清在线精品一区二区三区 | 日韩欧美一区二区三区视频 | 504神宫寺奈绪大战黑人 | 草榴色导航 | 亚洲黄色免费在线观看 | 国产精品怡红院在线观看 | 亚洲图片一区二区三区 | 日韩精品一区二区三区毛片 | 911亚洲精品国内自产 | 亚洲免费在线观看视频 | 日韩一区二区中文字幕 | 69成人影院 | 日本免费的一级绿象 | 黑人巨大初黑人解禁作品 | 草莓香蕉榴莲丝瓜秋葵绿巨人在线看 | 亚洲欧美日韩另类在线一 | 精品久久久久久国产91 | 亚洲欧美成人综合久久久 | 四虎影库紧急大通知 | 精品久久久久久久久久香蕉 | 日韩欧美色 | 国内自拍第1页 | 成人深夜视频 |