社区
Oracle
帖子详情
oracle 中 一次查询大量的数据 10w或者百w级的,速度慢怎么解决?
捣鼓地瓜
2008-10-27 09:17:38
数据库中有近6 7百万数据,一次需要查询出几十万行数据的几个字段,每次查询都在100s左右,请问有什么好的优化措施可以提高效率?
无where条件全表查询 。
sql: select id,type,code from t
...全文
4564
20
打赏
收藏
oracle 中 一次查询大量的数据 10w或者百w级的,速度慢怎么解决?
数据库中有近6 7百万数据,一次需要查询出几十万行数据的几个字段,每次查询都在100s左右,请问有什么好的优化措施可以提高效率? 无where条件全表查询 。 sql: select id,type,code from t
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yulihua49
2009-02-04
打赏
举报
回复
[Quote=引用楼主 xu_long 的帖子:]
数据库中有近6 7百万数据,一次需要查询出几十万行数据的几个字段,每次查询都在100s左右,请问有什么好的优化措施可以提高效率?
无where条件全表查询 。
sql: select id,type,code from t
[/Quote]
你这个效率已然算是不错的了,如果需要优化,就提升硬件吧。
在数据库进行适当的表分区,让SQL并行从各分区提取数据。每个分区放在独立磁盘、独立通道的存储体。
yulihua49
2009-02-04
打赏
举报
回复
[Quote=引用楼主 xu_long 的帖子:]
数据库中有近6 7百万数据,一次需要查询出几十万行数据的几个字段,每次查询都在100s左右,请问有什么好的优化措施可以提高效率?
无where条件全表查询 。
sql: select id,type,code from t
[/Quote]
你这个效率已然算是不错的了,如果需要优化,就提升硬件吧。
在数据库进行适当的表分区,让SQL并行从各分区提取数据。每个分区放在独立磁盘、独立通道的存储体。
xugh
2009-02-02
打赏
举报
回复
要做什么操作呢?
magicbluestone
2009-01-24
打赏
举报
回复
这个主要看你的复合索引的是怎么建的,如果复合索引的第一字段条件的,是一个type这种的类型的话,这种粒度比较大的条件做的复合索引,在觉的这个种索引在查询的效率不高,还是分开独立建索引比较好的,复合索引里面对的查询条件的顺序有要求,这样在查询时只有按这个定式去查询,别的不走索引,效果会差
y22ang_cn
2008-12-24
打赏
举报
回复
可以分页显示,用FIRST_ROWS出来一部门解决一部分。
wyyl1
2008-12-23
打赏
举报
回复
1
伪造数据,想要多快就有多快!
xiaoyou1982
2008-10-29
打赏
举报
回复
实在没办法建分区了,不过我看你就这么点数据,好象也不需要建分区
codearts
2008-10-28
打赏
举报
回复
只能升级硬件了,或者修改一些sga,pga什么的,从sql角度上来看是没有办法再优化了
捣鼓地瓜
2008-10-28
打赏
举报
回复
一次取出全部数据的话 分页查询加循环快 还是 一次性取出快??
各位大侠
小弟跪谢了。。。。
捣鼓地瓜
2008-10-28
打赏
举报
回复
这个表有20个字段 查询的这三个字段已经建立了联合索引,
现在是在工具 比如sqlplus里面看plan的话 是index fast scan cost 576 rows 649k
但是项目用到的是ejb的映射, 在项目中取出数据的时间比较长 大约100s
现在的问题是 如何将项目中取得这些数据的时间缩短。。。
hl_ghost
2008-10-28
打赏
举报
回复
mark
leiru
2008-10-28
打赏
举报
回复
已经建立索引了,而且还没有where条件。
确实没什么方法优化了好像。。
看看其他高手的了
jdsnhan
2008-10-27
打赏
举报
回复
[Quote=引用楼主 xu_long 的帖子:]
数据库中有近6 7百万数据,一次需要查询出几十万行数据的几个字段,每次查询都在100s左右,请问有什么好的优化措施可以提高效率?
无where条件全表查询 。
sql: select id,type,code from t
[/Quote]
6 7 百万,查询出几十万,还无where条件。。。。这个逻辑。。。
wffffc
2008-10-27
打赏
举报
回复
这样的查询除了做数据导出,没有where条件,查出来也没有什么意义啊,不知道你们怎么用查出的数据?
wffffc
2008-10-27
打赏
举报
回复
如果表中字段很多的话,可以在id,type,code 上面建索引,这样查询的时候就不用全表扫描了,只要扫描这个组合索引就可以了。
要是字段就这几个的话,那就只能做应用软件的时候分页了,是用FIRST_ROWS提示试试,不然只能升级硬件了。
捣鼓地瓜
2008-10-27
打赏
举报
回复
[Quote=引用 1 楼 BlueskyWide 的回复:]
在id,type,code字段上建立索引。
引用楼主 xu_long 的帖子:
数据库中有近6 7百万数据,一次需要查询出几十万行数据的几个字段,每次查询都在100s左右,请问有什么好的优化措施可以提高效率?
无where条件全表查询 。
sql: select id,type,code from t
[/Quote]
where 子句没有条件索引起作用么?
还有就是 这个sql的话 建立联合索引还是单独建立索引啊?
捣鼓地瓜
2008-10-27
打赏
举报
回复
[Quote=引用 2 楼 hebo2005 的回复:]
分页查询
硬件升级
[/Quote]
就是要一次性的把数据都读出来
然后进行操作啊
捣鼓地瓜
2008-10-27
打赏
举报
回复
这些字段上已经有索引了啊
hebo2005
2008-10-27
打赏
举报
回复
分页查询
硬件升级
BlueskyWide
2008-10-27
打赏
举报
回复
在id,type,code字段上建立索引。
[Quote=引用楼主 xu_long 的帖子:]
数据库中有近6 7百万数据,一次需要查询出几十万行数据的几个字段,每次查询都在100s左右,请问有什么好的优化措施可以提高效率?
无where条件全表查询 。
sql: select id,type,code from t
[/Quote]
Mybatis
查询
Oracle
一次
查询
1w条数
数据
耗时6s分析
Mybatis
查询
Oracle
一次
查询
1w条数
数据
耗时6s分析
Oracle
数据
表
大量
数据
删除后
查询
变慢问题
近期发现一张
数据
表经常了转移备份操作,并在删除掉
大量
数据
后,发现反而比表
中
有
百
万条
数据
的时候
查询
速度还慢 最后查找原因是因为对应存放大
数据
量的表的表空间还是很大了,一般没有特殊设定的情况下表空间大小为64KB,所以尽管表里面更少的
数据
但是
查询
的速度还是非常地慢。这个时候可以用以下代码查看对应表所占表空间的大小 select sum(bytes)/(1024*1024) from user_segm...
记
一次
oracle
大量
数据
模糊
查询
效率问题
今天在维护程序的时候发现有一个模糊
查询
效率特别低,三
百
万
数据
大约得四五十秒,原sql大致如下: select * from datalog a where a.requestdata like '%121100101%'; 后来看了下逻辑,大致意思就是必须使用模糊
查询
来匹配,遂改用以下sql来执行: select * from datalog t where instr(t.requestdata,'121100101')> 0; 改之前得四五十秒,改完之后七八秒即可
查询
出结果。
在
oracle
中
生成
大量
数据
以下语句用于在
oracle
中
一次
性生成
10w
条测试语句,主要用于测试 truncate与drop,delete的区别, 索引的特点等场景. 语法解析: 生成100000条
数据
后插入到新表 testtable(这个表事先不存在)
中
. 表
中
有4个列,第一列为rownum值,第二列为一个时间,第三列为0-100的随机数,第四列为一个20个字符的字符串. create table test...
oracle
删除表
中
大量
数据
卡顿的
解决
办法
首先,不要被标题误导,分两种情况。 1. 删之前原表
数据
不要。 2. 删之前保留原表
数据
。 一. 正确姿势
oracle
数据
表有过万条
数据
后,删除
数据
就变的特别慢,有时甚至会卡死,所以在此分享一个小白操作,望对各位有帮助。 删除前: 从原表创建新表,即:先把需要的某些
数据
导入到新表里,或者不加条件即要删除原表的所有
数据
,从原表创建临时表(新表)。(相当于原模原样拷贝一份原表) crea...
Oracle
17,137
社区成员
55,257
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章