`
desert3
  • 浏览: 2159281 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

每月100W数据统计处理解决方案

阅读更多
任务:每月产生100W条数据(csv格式),要求对这些数据进行一定的统计处理,折腾了几天才比较好地解决,把过程中尝试的各种方法记录下来。

基础数据导入解决思路:
1, 在Excel中用CONCATENATE函数拼出insert sql语句,复制到.sql文件,再拿到plsqldev中执行(由于在plsqldev中执行1个100多W条insert sql语句的文件,执行过程中应用程序会卡住,不知道已经处理了多少数据,放弃)
2, 使用sqlplus @”文件名”来执行sql,并设置每1000条记录提交一次,此时能看到处理数据的百分比,但是同时考虑到因素3,也放弃这个方案
3, 由于Excel中打开并处理50多M的csv文件反应太慢,放弃上述方案
4, 使用sqlldr来插入数据,刚开始时100W条数据大概要几分种
5, 为了加快处理速度,设置sqlldr每2000条记录提交一次而不是默认的64条数据提交一次,效率提升,完成

中间数据插入解决思路:
由于业务原因,需要对上述已经插入的基础数据按照一定业务规则进行分类,求和,评级等操作
1, 继续使用sqlldr来处理数据(sqlldr数据分析功能不够,无法使用)
2, 写select into from语句来执行(执行过程中要很久时间,同时数据出问题时不可控制,放弃)
3, 用python编写程序来先读取后插入数据库,由于使用了oracle的wm_concat函数,返回的结果是clob长文本字段,只能一行一行读取,效率低下
4, 后来发现可以对wm_concat后的项目进行to_char操作,然后可以每10000行数据读取一次,效率大大提高
5, 同时插入的时候也使用executemany方法来进行批处理插入操作,效率大大提升
6, 使用py2exe打包程序,然后copy到生产库执行,完成
7, (中间也试过读取数据后先生成csv文件,然后用sqlldr执行插入操作,发现效率没有明细变化,方便起见,就在python程序中执行插入操作)

查询优化:
为了加快业务分析时的查询效率
1,对相关的年月,省市县等字段建立索引(分区索引)
2,而对于分类代码(100W条数据中只有13个可能的值,同时数据倾斜也比较厉害,最常用的3个代码分别占了大概25W条数据),建立了list分区(对于已分区的字段不要再建立全局索引,建立default分区)
3,建立专门的索引表空间存储索引数据
4,物化视图



0
2
分享到:
评论

相关推荐

    基于复合数据的智慧快响在班组管理中的运用.docx

    - **员工绩效考核**:系统每月自动生成员工个体工作量统计表、工作效率等级表和异常工单统计表等,直观反映每位员工的工作量、效率及存在的问题,为后续改进提供依据。 - **专项分析会**:班组长可以根据上述...

    R-introduction

    无论是基础的统计分析(如回归分析、方差分析等),还是高级的机器学习算法(如支持向量机、随机森林等),R都能够提供完善的解决方案。 #### R与Windows系统 尽管R语言可以在多种操作系统上运行,包括Windows、...

    Storage and Buffer Manager实现文档

    - **实验总结**:总结实验中遇到的问题及解决方案,评估整个存储和缓冲管理器的性能表现,并提出可能的改进方向。 通过以上内容,我们可以了解到一个简单存储和缓冲管理器的设计与实现过程,以及相关的实验流程和...

    电话产品防伪伺服系统.rar

    电话产品防伪伺服系统是一个专为电话产品设计的防伪验证解决方案,旨在保护品牌免受假冒产品的侵害。这个系统可能包含一系列控件、源码、计数类资源,这些都是构建防伪验证平台的关键组成部分。 首先,让我们深入...

    六年级数学下册毕业复习精华题联系实际问题习题精编无答案北师大版20210202112

    具体计算每个动作的节水量,然后乘以每天的次数,最后累加得出每人每天和小明每月的节水总量。 这些知识点涵盖了数据分析、图形转换、面积和周长的计算、流量问题、以及水资源管理和节约意识的培养,都是六年级数学...

    江苏省13大市2013届高三数学上学期期末试题分类汇编 统计、推理与证明 苏教版

    在本例中,月收入在4000-6000元的人占10%,所以应抽出100 * 10% = 10人。 - **平均数的概念**:数据集的平均数是所有数值加和除以数值个数。若数据集(3, x)的平均数是3,那么x也应该是3,因为\( \frac{3+x}{2} = 3 ...

    华为编程开发规范与案例

    上面的问题解决起来很容易,只需在第一行代码中增加一个判断条件即可,如下:  for(i=0; i<pSysHead->dbf_coun && i ; i++) // MAX_DB_NUM=127 这样就保证了循环变量i的值在正常范围内,从而避免了对指针pDBFat...

    文章管理系统

    1.新增【管理员专区】->【数据处理管理】功能,可以批量替换数据和处理因敏感词而无法正常打开网页问题 2.纠正后台文章编辑,获取编辑器图片无法获取网络图片路径问题 3.后台文章管理,标题后面加入是否含缩略图的...

    国微CMS政府网站系统(县市门户版)-PHP

    C:网络问政:网络问政里面包括了领导信箱模块、在线访谈、问答等模块,每个部门均可管理自己的信件,每个信件可以流转,处理后可以短信通知对方。 D:旅游频道:可以将本县漂亮的风景、酒店、旅游路线用图像形式...

Global site tag (gtag.js) - Google Analytics