锁定老帖子 主题:上亿数据的查询插入速度如何提升
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-03-05
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2013-03-06
根据描述,觉得不是你A表统计语句的问题。
是B表插入的问题。 B表如果有索引或唯一性验证,那么插入越来越慢是肯定的。 你可以做个简单的测试,比如24条SQL,建24个表,执行插入,看看具体效率。 如果24张表速度都是平均,那么就是插入问题。 如果24张表速度都很慢,那么是A表查询问题。 如果有慢有快,才是表空间一类的问题。 |
|
返回顶楼 | |
发表时间:2013-03-06
tfwin2 写道 根据描述,觉得不是你A表统计语句的问题。
是B表插入的问题。 B表如果有索引或唯一性验证,那么插入越来越慢是肯定的。 你可以做个简单的测试,比如24条SQL,建24个表,执行插入,看看具体效率。 如果24张表速度都是平均,那么就是插入问题。 如果24张表速度都很慢,那么是A表查询问题。 如果有慢有快,才是表空间一类的问题。 非常谢谢tfwin2的热心解答,我明天回公司试试。如果还有朋友有其他见解,请发表出来,我们可以相互学习 |
|
返回顶楼 | |
发表时间:2013-03-07
建议贴上SQL语句,将A中的数据按月统计查询后插入B中,那么B最终结果是24条记录吗?
|
|
返回顶楼 | |
发表时间:2013-03-07
我觉着你是不是建成分区表,按照月份分区,试试
|
|
返回顶楼 | |
发表时间:2013-03-08
1、建议你将B表建成分区表(按月分区)
2、insert的时候使用 append insert 方式 3、在append insert是同时使用并行操作 |
|
返回顶楼 | |
发表时间:2013-03-08
应该是A表的查询速度引起的,开始几百万的数据查询起来会比较快,越到后面越慢.
还有如果B表要建索引的话,最好是等数据都插入以后再建索引. 用SQLLoard的方式应该会快些 |
|
返回顶楼 | |
发表时间:2013-03-08
1根据你的情况描述,查询速度应该是足够快,但插入速度较慢
2B表按照月份建立分区,每次按月统计出来的数据插入到新的分区中 |
|
返回顶楼 | |
发表时间:2013-03-08
这样的数据一般建表的时候采用表分区的最好的选择。
每条sql以rownum划分的?可以考虑换下其他索引列区分。 大量数据更改索引维护是个相当耗费资源的操作,B表可以先删除索引。 可以看看是否打开了自动维护统计信息或自动整理,可以考虑关掉;数据量变化过大可能触发类似操作。 |
|
返回顶楼 | |
发表时间:2013-03-09
liwenshui322 写道 建议贴上SQL语句,将A中的数据按月统计查询后插入B中,那么B最终结果是24条记录吗?
如果b的最终结果就是24条记录的话,那么无论如何都不会是b插入的速度问题。 应该是a的查询问题! |
|
返回顶楼 | |