那種寫法執行效率高
下面的兩種情況,那種寫法執行效率高。
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
- 代理ip 多執行緒 python寫法執行緒Python
- appium ios java 指令碼如何用指令執行,例如 adb 那種方式執行指令碼APPiOSJava指令碼
- 回字有四種寫法,那你知道單例有五種寫法嗎單例
- 執法者三種方法
- 單例的幾種寫法單例
- 一種錯誤的 if 寫法
- 面試官,我會寫二分查詢法了!對,沒有 bug 的那種!面試
- java多執行緒那點事兒Java執行緒
- 多執行緒那點事—Parallel.for執行緒Parallel
- crontab 每隔 1 小時 2 小時的執行 job 寫法
- “來我公司寫爬蟲嗎?會坐牢的那種!”爬蟲
- eos docker執行後無法執行cleosDocker
- 031、Vue3+TypeScript基礎,路由中to的字串寫法和物件寫法2種寫法VueTypeScript路由字串物件
- 單例模式的五種寫法單例模式
- 單例模式的六種寫法單例模式
- 10 種超讚的 MyBatis 寫法!MyBatis
- 單例模式的七種寫法單例模式
- 單例模式有幾種寫法?單例模式
- Express, Koa, Redux中介軟體的區別,寫法和執行流程ExpressRedux
- 關於laravel計算程式執行時間的優雅寫法Laravel
- 舉例說明js立即執行函式的寫法有哪些?JS函式
- Locust 多種執行方式
- JS氣泡排序的6種寫法JS排序
- 單例模式你會幾種寫法?單例模式
- Java:單例模式的七種寫法Java單例模式
- 新學一種c語言寫法C語言
- iOS多執行緒安全-13種執行緒鎖?iOS執行緒
- 學習筆記 ProgressBar三種style 水平兩種寫法筆記
- 執行緒池以及四種常見執行緒池執行緒
- unnest array_contains 行轉列 id in效率高AI
- 三種方式本地執行Knative
- 如何編寫及執行JSJS
- JavaScript 編寫和執行方法JavaScript
- Python單例的一種簡單寫法Python單例
- 陣列分組chunk的一種寫法陣列