这是一个2020年某个人公众号上的一个案例, 我当时是在手机上看的, 大致看了一下, 虽然逻辑上不是那么严谨,但是最终结果是正确的, 效果也是相当的炸裂(把一个sql执行时间从2小时39分优化到10毫秒...这些因为第一次sql执行有大量的物理读(270w次), 而第二次执行时, 这些数据块都已经读到了内存, 物理读(physical reads)是0....看了我上面的解释,估计你们能够明白, 快了那0.03秒不是因为改变了什么函数, 而是第一次执行的时候, 数据做了缓存, 第二次执行从内存读, 自然要比从磁盘读快...., 我没看10053, 根据执行计划反推的):
如果你用的是mysql或是postgresql的数据库, 遇到这样的sql, 如果不能像oracle优化器那样做查询转换, 也可以手工改成上面这个样子,...但是这个SQL明显是只能通过改写才能解决性能问题, 给出这样的评论就只能暴露自己认知上的不足.