自己原文公众号: 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
效果是一样的。但是简单很多。一目了然。

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