**:oracle 如何寫出高效的 sql
要想寫出高效的sql 語句需要掌握一些基本原則,如果你違反了這些原則,一般情況下sql 的效能將會很差。
1. 減少資料庫訪問次數
連線資料庫是非常耗時的,雖然應用程式會採用連線池技術,但與資料庫互動依然很耗時,這就要求我們盡量用一條語句幹完所有的事,尤其要避免把sql 語句寫在迴圈中,如果你遇到這樣的人,應該毫不猶豫給他兩個耳光。
2. 避免在有索引的字段上使用函式
在索引欄位上使用函式會使索引失效,我們可以通過其他方式避免使用函式,如:盡量 避免在 sql 語句的where子句中使用函式
3. 避免在 sql語句中使用過程邏輯
通常開發人員思考問題喜歡採用過程邏輯,而sql 語句操作的物件是集合,所以寫 sql 語句時時刻提醒自己不要採用過程邏輯,否則會寫出非常拙劣的sql。
4. 採用樂觀式sql
通常,開發人員寫程式時會先判斷引數的有效性,然後執行一定的操作,而在訪問資料庫時,可以先執行sql,然後,判斷影響的行數,這樣可以減少和資料庫的互動。
5. 將排序操作放到最後
排序操作非常耗時,通常,我們應該把所有不必要的記錄都剔除後在進行排序操作,如果能不排序,盡量不要排序。
Oracle 如何寫出高效的 SQL
start 要想寫出高效的sql 語句需要掌握一些基本原則,如果你違反了這些原則,一般情況下sql 的效能將會很差。連線資料庫是非常耗時的,雖然應用程式會採用連線池技術,但與資料庫互動依然很耗時,這就要求我們盡量用一條語句幹完所有的事,尤其要避免把sql 語句寫在迴圈中,如果你遇到這樣的人,應該毫不...
如何寫出好函式
寫 和寫別的東西很像。在寫 或文章時,你先想什麼就寫什麼,然後再打磨它。初稿也許粗陋無序,你就斟酌推敲,直至達到你心目中的樣子。我寫函式時,一開始都冗長而複雜。有太多縮排和巢狀迴圈。有過長的引數列表。名稱是隨意取的,也會有重複的 不過我會配上一套單元測試,覆蓋每行醜陋的 然後我會打磨這些 分界函式 ...
如何寫出最快的迴圈
作者 laruence 你知道怎麼寫出最快的迴圈麼?剛剛在曉東郭的 blog 看到乙個有趣的問題 php 中 i 和 i 的區別 1.方式一 2.3.begin time 4.i 0 5.while i 10000 6.12.end time 13.14.時間 16s 15.16.方式二 17.18...