Oracle的特性分页

自己原文公众号: 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

效果是一样的。但是简单很多。一目了然。

执行计划一样优秀。


这里的意思是说明,好的东西可以简化我们的工作量。既然提供了为什么不用?不要把精力花在那种低价值的粗糙的工作上。


请使用浏览器的分享功能分享到微信等