前端页面发现经常查不出数据,用pl/sql连数据库发现用语句查也是一样的情况,对于只是一个运维的我,人都要裂开了,求帮忙看看是哪里出了问题,
可以看下我发在社区的这个帖子,里面有视频。
这个是社区链接https://bbs.csdn.net/topics/603877676
select count() from detect_speed_data t
where t.dcollectiondate between
to_date('2021-12-10 00;00;00', 'yyyy-mm-dd HH24;mi;ss') and
to_date('2021-12-10 23;59;59', 'yyyy-mm-dd HH24;mi;ss');
//
select t.rowid,t. from detect_speed_data t
where t.dcollectiondate between
to_date('2021-12-10 00;00;00', 'yyyy-mm-dd HH24;mi;ss') and
to_date('2021-12-10 23;59;59', 'yyyy-mm-dd HH24;mi;ss');
//
select count() from detect_speed_data t
where t.dcollectiondate between
to_date('2021-12-22 00;00;00', 'yyyy-mm-dd HH24;mi;ss') and
to_date('2021-12-22 23;59;59', 'yyyy-mm-dd HH24;mi;ss');
//
select t.rowid,t. from detect_speed_data t
where t.dcollectiondate between
to_date('2021-12-22 00;00;00', 'yyyy-mm-dd HH24;mi;ss') and
to_date('2021-12-22 23;59;59', 'yyyy-mm-dd HH24;mi;ss');
//
select count(*) from(select * from detect_speed_data where dcollectiondate > sysdate - 60/1440)
这个问题有意思,
首先应该可以排除查的是视图,视图里可以写随机函数让你有时查不到,应该没人会做这么无聊的事;
然后开始正经分析:
一、虽然视频中是使用同一个已保存的连接,但是,这并不能肯定是连接的同一个数据库实例,你可以通过下面这几种方式验证一下
二、如果无论怎么检查的确是同一个数据库,检查2个sql的执行计划是否有区别,尝试在查不到的那个数据库上修改查询条件缩小范围,看是不是的确没有数据,因为可能存在执行计划跑错了导致数据查不到的情况,
三、最后一种可能性,就得看下数据库是不是有损坏了