OLTP應用最佳化SQL方法思路思考
OLTP應用最佳化SQL思路:由小到大,從限制性最強返回記錄最少的連線開始,基本採用巢狀迴圈連線技術,依次完成其它表的連線,並在訪問每張表時,合理使用索引,特別是複合索引技術。
具體方法步驟:(1)限制性最強的表作為驅動表,條件欄位應該有索引,包括主鍵,唯一索引,複合索引等。(2)考慮原則:在每次連線操作之後,儘量保證返回記錄數罪少,再傳遞給下一個連結操作。(3)每次連線基本採用巢狀迴圈連線技術。(4)儘量透過在被驅動表的連線欄位上的索引,訪問被驅動表。(5)如果被驅動表上還有其它限制性條件,可以遵循複合索引建立原則,建立合適的複合索引。(6)全表掃描可能也是合理的,比如若干小表,程式碼表的訪問。(7)依次類推,順序完成所有表的連線操作。
要點:(1)能不寫子查詢,儘量不寫子查詢,而是直接編寫多表連線,因為這樣會導致oracle採用錯誤的執行路徑。(2)in和exists的使用場景:如果限制性強的條件在子查詢,用in。如果限制性強的條件在主查詢,用exists.(3)在一些情況下,會導致索引失效的語句:1 不要輕易在欄位前加函式,比如 to_char(JDRQ,'yyyymmdd') between .....改為 JDRQ between to_date(....)...。2 儘量不要將欄位嵌入到表示式中,如JDRQ+7
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24214296/viewspace-1059540/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ChatGPT應用思考ChatGPT
- 求助:求移動應用自動釋出到應用市場的方法或思路
- 框架應用的思考框架
- Oracle SQL效能最佳化常用方法OracleSQL
- ST001 | 移動 App 應用測試方法與思路APP
- 微課sql最佳化(17)、不改程式碼,最佳化SQL(1)-最佳化方法總結SQL
- Microsoft SQL Server查詢最佳化方法ROSSQLServer
- 共享池最佳化思路
- 奇思妙想的SQL|去重Cube計算最佳化新思路SQL
- 第45期:一條 SQL 語句最佳化的基本思路SQL
- Java Web應用的常見思路JavaWeb
- 記一次生產慢sql索引最佳化及思考SQL索引
- oracle sql應用OracleSQL
- 思路很重要!搞定完美配色方案應當思考的八個問題
- Oracle效能最佳化之應用最佳化(轉)Oracle
- 應用監控的選型思考
- RESTful實踐(具體應用)思考REST
- SLAM應用的一些思考SLAM
- sql最佳化:使用sql profile最佳化sql語句SQL
- Android應用商店差異化思路Android
- SQL Server最佳化方法、步驟和技術SQLServer
- 商業思考 | 梳理大資料七大核心應用思路 必將引發社會深刻變革大資料
- 【效能最佳化】消除行連結和行遷移的思路和方法
- Impala 5.7效能最佳化系列-10大最佳化思路
- 慢Sql優化思路SQL優化
- 【轉】OLTP,OLAP和混合應用下oracle預設的不同的引數設定Oracle
- 微課sql最佳化(12)、表的連線方法(1)-幫助網友最佳化報表SQLSQL
- SQL最佳化SQL
- HarmonyOS:應用效能最佳化實踐
- 【轉】【效能最佳化】消除行連結和行遷移的思路和方法
- SEO最佳化方案:菜譜網站整站最佳化思路網站
- 並查集系列之「思路最佳化」並查集
- PL/SQL Case when應用SQL
- Apollo GraphQL 在 webapp 中應用的思考WebAPP
- 口袋中的應用:互動介面重思考
- Redux應用多人協作的思路和實現Redux
- 50種方法最佳化SQL Server資料庫查詢SQLServer資料庫
- SQL慢查詢排查思路SQL