Oracle的特性分頁

xuexiaogang發表於2021-12-13

自己原文公眾號: https://mp.weixin.qq.com/s/seHUAzw_j0DdkaAM0NZTCA

今天說這個是因為我們在談升級(不管什麼資料庫Oracle MySQL PostgreSQL等等)我其實倒不是關注他的效能如何提升。因為必然有提升。

我也不關注安全性。因為我堅信每個資料庫自己本身都是安全的,不安全的只有人。我最關注的是特性。

      很多特性都是解決、解放我們開發和運維的。今天舉個例子。首先這不是一個新的功能,甚至可以說有點老。這個都快有10年了。

    傳統寫法:


SELECT * FROM (SELECT userid,password,ROWNUM RN FROM (SELECT * FROM users where userid like 'T11%') A WHERE ROWNUM <= 40)WHERE RN >= 21

真心麻煩。寫這麼多。雖然看得到。是查這個表現在看20-40頁。這還巢狀了幾層。執行計劃還行。

再看看這個寫法:從2013年的12就有了。


SELECT userid, password

from users

where userid like 'T11%' offset 20 rows fetch next 20 row only

效果是一樣的。但是簡單很多。一目瞭然。

執行計劃一樣優秀。


這裡的意思是說明,好的東西可以簡化我們的工作量。既然提供了為什麼不用?不要把精力花在那種低價值的粗糙的工作上。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/637517/viewspace-2847509/,如需轉載,請註明出處,否則將追究法律責任。

相關文章