永发信息网

oracle数据库约200W数据查询非常慢,查询需要10几秒,经常查询超时,这个正常吗?有没有什么好的办法解决

答案:5  悬赏:10  手机版
解决时间 2021-11-26 04:28
oracle数据库约200W数据查询非常慢,查询需要10几秒,经常查询超时,这个正常吗?有没有什么好的办法解决
最佳答案
先确认一下问题,是代码操作的查询还是连接oracle工具操作的查询,优化大数据量主要先从三两方式入手,第一,建索引,这个有讲究:主要是针于你的查询条件(即是在where后面的字段建索引,有几个条件字段就建几个,如果有组合条件查询,那建联合索引)。第二点,就是按表中的数据,进行表分区,如按时间段进行分区,按区域进行分区,按单位或部门进行分区等。减少全表扫描。三,检查一下表空间大少。追问代码操作的查询追答那这个还得根据代码的写法情况来处理,
那你可以分两部分来检查 ,代码的检查和数据库的检查,把
把代码每个消耗资源的代码执行时间打印出来,确定查询变慢的范围或原因
把可执行SQL放到连接数据库工具去执行,看执行时间有多长,如果是SQL原因,刚优化SQL,如果是数据库数据量的原因,则按前面回答的方式优化。
如果是代码原因:检查运行环境的内存,java虚拟机的内存这些是否有影响,设置二级缓存,在代码中检查,数据库连接方式,是否是IO读取消耗时间比较长,如果是,刚跟硬盘的转速和磁道有关,还要检查代码中业务处理的for是否存在或算法比较是否合理,并检查是否用到游标,确认游标和数据库连接都关闭了没有?,
全部回答
1. 统计信息失真
2. 查询未使用到索引,即走的是全表扫描

看看查询计划吧
如果是要把这些记录(200W)都取出来,这个时间应该是正常的,需要把这些记录全部从磁盘取出来显示。

如果是从200W里取一些数据出来,应该就不能花这么多时间。

为什么会有取200W条数据这样的需求?取出来做什么用?
你把SQL语句贴出来。具体看看
查询几条数据,查询的条件多吗,如果需要全表扫描的话,按指定的关键字进行分区,建立分区表,这样可以减少扫描,你可以试一下
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
本来跟我已经分手几天的女朋友说好要一起过年
NBA哪支球队的老板最穷?
如何妙答面试常见疑难问题
html 编辑中的:<input type="text" id="user
加拿大visa续签材料
什么是同步电机的双反应理论
测量大气压力的原理是
东风尖头190马力145后桥自卸车可以拉多少吨?
公公能管媳妇吗有没有权力
百度云里面的zip文件怎么传到电脑上
浩口村地址好找么,我有些事要过去,
打算在京东驾校增驾 觉得怎么样
请问有人了解缘木居(上海阿凡提家具有限公司
何家村地址在什么地方,想过去办事,
三汇村地址好找么,我有些事要过去,
推荐资讯
苹果5求鉴定 CM/A是哪里了
小赢卡贷逾期一天就通讯录被轰炸了
食堂凉菜大全
鸡蛋孵化了21天还没出壳 试水却沉底了 请问这
龙日一,你死定了,这本书在哪读呀
深圳恩斯迈电子厂,怎么样? 急!!
报假警的后果
哈尔滨奋斗副食盐焗腰果和盐焗大杏仁 多少钱
吉林江滨公园导游词
圣象地板背面没有转数字样的是假的吗?
一年级数学☆,△,□分别表示不同的数字,
EMS揽投站(生物科技产业园经三路6号EMS揽投站
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?