Oracle数据库order by查询问题
问题背景
由于项目使用Oracle数据库,自然对数据库的操作比较多,近日工作内容是查询某一张数据库表,数据库表有27列属性,表中数据量大约60多万。其中索引信息如下:
sql内容如下:
查询条件使用了主键,并且最后按照主键中的gmt_create进行排序,表中数据大约60多万条,按照很正常的思路,用工具查询一下,预估一下时间损耗。
如图可知查询效率还算客观,所以将项目部署。
问题出现
使用postman进行自测验证:
竟然达到了可怕的70s,项目日志打印情况来看,接口响应只占用了2ms左右,故而排除接口问题,开始思考sql优化。由于是单表查询,且有使用索引,由于oracle数据库使用不多,不会查执行过程,所以没有细致分析。怀疑是order by在搞鬼,百度一下,还真是…
看来有一部分原因是由于order by导致,所以在程序中去掉order by,用工具测试一下,并没有什么效果。
把程序调整去掉order by,部署自测。竟然降低到了200ms以下…这差距…
查看原因,还没看出个所以然,先把问题记录,后续学会了更新吧… - -~ !!!!