那種寫法執行效率高
下面的兩種情況,那種寫法執行效率高。
1、delete from subject_data where subject_id in (130,129,127);
2、delete from subject_data where subject_id = 130;
delete from subject_data where subject_id = 129;
delete from subject_data where subject_id = 127;
在subject_id列有索引的情況下顯然是第一種情況執行效率高。其執行計劃如下:
Execution Plan
----------------------------------------------------------
0 DELETE STATEMENT Optimizer=CHOOSE
1 0 DELETE OF 'SUBJECT_DATA'
2 1 CONCATENATION
3 2 INDEX (RANGE SCAN) OF 'SD_SUBJECT_ID' (NON-UNIQUE)
4 2 INDEX (RANGE SCAN) OF 'SD_SUBJECT_ID' (NON-UNIQUE)
5 2 INDEX (RANGE SCAN) OF 'SD_SUBJECT_ID' (NON-UNIQUE)
這兩種情況雖然執行相同次數的INDEX RANGE SCAN,但1只需解析一次2要解析3次。
另外,在subject_id列沒有索引的情況下也仍然是第一種情況執行效率高,理由同第一種情況。
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/38542/viewspace-914905/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 執行效率高的程式碼-可以這樣寫出來~
- 認識執行緒、建立執行緒寫法執行緒
- 【轉】Promise迴圈序列執行寫法Promise
- appium ios java 指令碼如何用指令執行,例如 adb 那種方式執行指令碼APPiOSJava指令碼
- 為什麼你寫的Python執行的那麼慢呢?Python
- 面試官,我會寫二分查詢法了!對,沒有 bug 的那種!面試
- 回字有四種寫法,那你知道單例有五種寫法嗎單例
- Win8無法執行魔獸爭霸3的幾種辦法
- 單例的幾種寫法單例
- php中if的4種寫法PHP
- java多執行緒那點事兒Java執行緒
- 多執行緒那點事—Parallel.for執行緒Parallel
- iOS多執行緒那點事兒iOS執行緒
- “來我公司寫爬蟲嗎?會坐牢的那種!”爬蟲
- 決定一個SQL執行效率的是執行計劃, 而不是SQL的寫法SQL
- 執行七種武器
- crontab 每隔 1 小時 2 小時的執行 job 寫法
- job中執行帶有引數的procedure 時的寫法
- 單例模式的六種寫法單例模式
- 單例模式有幾種寫法?單例模式
- 單例模式的五種寫法單例模式
- 單例模式的七種寫法單例模式
- 10 種超讚的 MyBatis 寫法!MyBatis
- VIPCA無法執行PCA
- 031、Vue3+TypeScript基礎,路由中to的字串寫法和物件寫法2種寫法VueTypeScript路由字串物件
- 花式寫單例之單例的六種寫法單例
- Express, Koa, Redux中介軟體的區別,寫法和執行流程ExpressRedux
- 關於laravel計算程式執行時間的優雅寫法Laravel
- 當頁面特殊無法執行js時寫的程式碼方法JS
- eos docker執行後無法執行cleosDocker
- Locust 多種執行方式
- JS氣泡排序的6種寫法JS排序
- Java:單例模式的七種寫法Java單例模式
- 新學一種c語言寫法C語言
- 單例模式你會幾種寫法?單例模式
- js確保正確this的幾種寫法JS
- oracle連線串的一種寫法Oracle
- iOS多執行緒安全-13種執行緒鎖?iOS執行緒