精华内容
下载资源
问答
  • 模拟导入系统通讯录5000+手机号 校验大量数据处理 之前再测试一个导入手机通讯录系统时,随机抽了几个人的手机进行了测试,都导入显示正常 当公司BD进行项目试用时,导入通讯录一直处于下图加载中   1、于是...

    模拟导入系统通讯录5000+手机号 校验大量数据处理

    之前再测试一个导入手机通讯录系统时,随机抽了几个人的手机进行了测试,都导入显示正常

    当公司BD进行项目试用时,导入通讯录一直处于下图加载中

     

    1、于是进行抓包查看日志进行定位,确认是通讯录手机号太多,批量数据处理导致的问题

    于是我们想到测试的遗露点——大量手机号导入验证

     2、于是我们提交了BUG,等待程序进行修复后,我们继续进行回归验证

     3、抓到传输数据

     4、复制下来进行解码,这时我们就可以看懂传的参数

     5、将参数复制粘贴至5000+

     

     6、再次进行编码,编码成后端能识别的参数

     

     

     7、我们再次进入页面进行拦截,修改textview中参数contacts=  第6点的,点绿色run to completion运行

     8、我们观察app页面显示是否正确,可以看到显示了5000+个手机号列表

     

    展开全文
  • mysql 大量数据处理问题

    千次阅读 2015-04-21 10:45:03
    一、大量数据存储问题解决方法分区、分表原则:多利用点内存,减轻磁盘IO负载,因为IO往往是数据库服务器的瓶颈 区别:1,实现方式上 mysql的分表是真正的分表,一张表分成很多表后,每一个小表都是完正的一张表;...
    一、大量数据存储问题解决方法

    分区、分表

    原则:多利用点内存,减轻磁盘IO负载,因为IO往往是数据库服务器的瓶颈 

    区别:

    1,实现方式上 

    mysql的分表是真正的分表,一张表分成很多表后,每一个小表都是完正的一张表;

    分区不一样,一张大表进行分区后,他还是一张表,不会变成二张表,但是他存放数据的区块变多了

    2,数据处理上 

    分表后,数据都是存放在分表里,总表只是一个外壳,存取数据发生在一个一个的分表里面;

    分区呢,不存在分表的概念,分区只不过把存放数据的文件分成了许多小块,分区后的表呢,还是一张表。数据处理还是由自己来完成。

    3,提高性能上 

    a),分表后,单表的并发能力提高了,磁盘I/O性能也提高了。并发能力为什么提高了呢,因为查寻一次所花的时间变短了,

    如果出现高并发的话,总表可以根据不同的查询,将并发压力分到不同的小表里面。磁盘I/O性能怎么搞高了呢,

    本来一个非常大的.MYD文件现在也分摊到各个小表的.MYD中去了。 


    b),mysql提出了分区的概念,我觉得就想突破磁盘I/O瓶颈,想提高磁盘的读写能力,来增加mysql性能。 

    在这一点上,分区和分表的测重点不同,分表重点是存取数据时,如何提高mysql并发能力上;而分区呢,如何突破磁盘的读写能力,

    从而达到提高mysql性能的目的。 


    4),实现的难易度上 

    a),分表的方法有很多,用merge来分表,是最简单的一种方式。这种方式根分区难易度差不多,并且对程序代码来说可以做到透明的。

    如果是用其他分表方式就比分区麻烦了。 


    b),分区实现是比较简单的,建立分区表,根建平常的表没什么区别,并且对开代码端来说是透明的。 


    分区:分区应该注意的事项:
    1、 做分区时,要么不定义主键,要么把分区字段加入到主键中。
    2、 分区字段不能为NULL,要不然怎么确定分区范围呢,所以尽量NOT NULL
    二、分区的类型
    RANGE 分区:基于属于一个给定连续区间的列值,把多行分配给分区。
    LIST 分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。
    HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包>含MySQL中有效的、产生非负整数值的任何表达式。
    KEY分区:类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL服务器提供其自身的哈希函数。必须有一列或多列包含>整数值。

    range分区
     create table t_range( 
      id int(11), 
      money int(11) unsigned not null, 
      date datetime 
      )partition by range(year(date))( 
      partition p2007 values less than (2008), 
      partition p2008 values less than (2009), 
      partition p2009 values less than (2010) 
      partition p2010 values less than maxvalue 
      );

    分表:

    先建表:
    mysql> CREATE TABLE t1 (
        ->    a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
        ->    message CHAR(20)) ENGINE=MyISAM;
    mysql> CREATE TABLE t2 (
        ->    a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
        ->    message CHAR(20)) ENGINE=MyISAM;
    mysql> INSERT INTO t1 (message) VALUES ('Testing'),('table'),('t1');
    mysql> INSERT INTO t2 (message) VALUES ('Testing'),('table'),('t2');
    mysql> CREATE TABLE total (
        ->    a INT NOT NULL AUTO_INCREMENT,
        ->    message CHAR(20), INDEX(a))
        ->    ENGINE=MERGE UNION=(t1,t2) INSERT_METHOD=LAST;
    其中t1,t2是分表
    total是t1,t2两个表所有的数据
    查询的时候
    select * from toal
    表面上看和普通表一样,其实上这个查询进行Mysql分表查询,只是对于操作者透明而已
    插入的话也是
    insert into total(message)values('message');
    会默认插入LAST表,也就是t2表

    展开全文
  • ... ...问题(来自lunacyfoundme) ... 我正在重建我们公司内部网,期间遇到一个与大量数据处理报告有关的前一个版本的问题。此前我曾用同步处理程序代码解决过这个问题,只是运行的很慢很慢,这导致我不得不延长最大

    来源:(Reddit)PHP100中文网


    问题(来自lunacyfoundme)

           我正在重建我们公司内部网,期间遇到一个与大量数据处理报告有关的前一个版本的问题。此前我曾用同步处理程序代码解决过这个问题,只是运行的很慢很慢,这导致我不得不延长最大脚本运行时间10到15分钟。有没有更好的方式来处理PHP站点里的大量数据呢?理想情况下我想在后台运行它,并且跑的越快越好。这个过程包括处理成千上万条的财务数据,我是使用Laravel来重建这个站点的。
     

    最好受欢迎的回答(来自spin81):

           人们都告诉你要使用队列和诸如此类的东西,这是一个好主意,但问题好像并没有出在PHP上面。Laravel/OOP是很厉害的,但生成你所说的报告的程序似乎不应你该有问题。对于不同的看法,我想看看你得到这些数据时使用的SQL查询。正如其他人所说,如果你的表单有成千上万行那你的报告应该不会耗费10到15分钟才完成。实际上,如果你没做错事的话可能会在一分钟内就能处理成千上万条记录,完成同样的一篇报告。

    1.如果你正在做成千上万条查询,看看你能不能先只做几条查询。我之前曾使用一个PHP函数把70000条查询降为十几条查询,这样它的运行时间就从几分钟降到了几分之一秒。
     
    2.在你的查询上运行EXPLAIN,看看你是不是缺少什么索引。我曾经做过一个查询,通过增加了一个索引后效率提高了4个数量级,这没有任何夸张的成分。如果你正在使用MySQL,你可以学学这个,这种“黑魔法”技能会让你和你的小伙伴惊呆的。
     
    3.如果你正在做SQL查询,然后获得结果,并把很多数字弄到一起,看看你能不能使用像SUM()和AVG()之类的函数调用GROUP BY语句。跟普遍的情况下,让数据库处理尽量多的计算。我能给你的一点很重要的提示是:(至少在MySQL里是这样)布尔表达式的值为0或1,如果你很有创意的话,你可以使用SUM()和它的小伙伴们做些很让人惊讶的事情。
     
    4.好了,最后来一个PHP端的提示:看看你是不是把这些同样很耗费时间的数字计算了很多遍。例如,假设1000袋土豆的成本是昂贵的计算,但你并不需要把这个成本计算500次,然后才把1000袋土豆的成本存储在一个数组或其他类似的地方,所以你不必把同样的东西翻来覆去的计算。这个技术叫做记忆术,在像你这样的报告中使用往往会带来奇迹般的效果。
     
    原文:http://www.reddit.com/r/PHP/comments/2pyuy0/heavy_data_processing_in_php/
    译文:http://www.php100.com/html/dujia/2014/1226/8195.html
    (翻译:PHP100_Alex) 
    展开全文
  • 1) 在处理数据量时,会有大量数据缓冲保存在Session的一级缓存中,这缓存大太时会严重显示性能,所以在使用Hibernate处理数据量的,可以使用session.clear()或者session. Evict(Object) 在处理过程中,清除...
    1) 在处理大数据量时,会有大量的数据缓冲保存在Session的一级缓存中,这缓存大太时会严重显示性能,所以在使用Hibernate处理大数据量的,可以使用session.clear()或者session. Evict(Object) 在处理过程中,清除全部的缓存或者清除某个对象。 
    2) 对大数据量查询时,慎用list()或者iterator()返回查询结果, 
    1. 使用List()返回结果时,Hibernate会所有查询结果初始化为持久化对象,结果集较大时,会占用很多的处理时间。 
    2. 而使用iterator()返回结果时,在每次调用iterator.next()返回对象并使用对象时,Hibernate才调用查询将对应的对象初始化,对于大数据量时,每调用一次查询都会花费较多的时间。当结果集较大,但是含有较大量相同的数据,或者结果集不是全部都会使用时,使用iterator()才有优势。 
    3. 对于大数据量,使用qry.scroll()可以得到较好的处理速度以及性能。而且直接对结果集向前向后滚动。 
    3) 对于关联操作,Hibernate虽然可以表达复杂的数据关系,但请慎用,使数据关系较为简单时会得到较好的效率,特别是较深层次的关联时,性能会很差。 
    4) 对含有关联的PO(持久化对象)时,若default-cascade="all"或者 “save-update”,新增PO时,请注意对PO中的集合的赋值操作,因为有可能使得多执行一次update操作。 
    5) 在一对多、多对一的关系中,使用延迟加载机制,会使不少的对象在使用时方会初始化,这样可使得节省内存空间以及减少数据库的负荷,而且若PO中的集合没有被使用时,就可减少互数据库的交互从而减少处理时间。 
    6) 对于大数据量新增、修改、删除操作或者是对大数据量的查询,与数据库的交互次数是决定处理时间的最重要因素,减少交互的次数是提升效率的最好途径,所以在开发过程中,请将show_sql设置为true,深入了解Hibernate的处理过程,尝试不同的方式,可以使得效率提升。 
    7) Hibernate是以JDBC为基础,但是Hibernate是对JDBC的优化,其中使用Hibernate的缓冲机制会使性能提升,如使用二级缓存以及查询缓存,若命中率较高明,性能会是到大幅提升。 

    8) Hibernate可以通过设置hibernate.jdbc.fetch_size,hibernate.jdbc.batch_size等属性,对Hibernate进行优化。

    转载自http://bbs.it-home.org/thread-549-1-1.html

    展开全文
  • httpclient最近在单记录大量传输数据的时候出现了问题,由于是大量数据的单条传输(业务需要),所以出现服务器的连接被占满拒绝的连接的情况;  这里我在httpclient请求的时候部分代码是这样写的; HttpClient client ...
  • 解决Oracle中Exp/Imp大量数据处理问题

    千次阅读 2007-07-31 19:29:00
    解决Oracle中Exp/Imp大量数据处理问题作者:佚名 来源:不详 发布时间:2007-4-14 12:46:36 发布人:gongming123 <!--google_ad_client = "pub-3003251372341598";google_ad_width
  • 大量数据处理方法总结

    千次阅读 2010-08-30 16:56:00
    1.Bloom filter适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集基本原理及要点:对于原理来说很简单,位数组+k个独立hash函数。将hash函数对应的值的位数组置1,查找时如果发现所有hash函数...
  • 处理大量的图形的时候,就可以显示出它的方便了。 一些常用的句柄 gcf —— 当前图形(figure)的句柄 gca —— 当前坐标轴(axes)的句柄 gco —— 当前对象(object)的句柄 双Y轴曲线的绘制 ...
  • 向db2中插入大量数据处理方法

    千次阅读 2013-08-20 10:34:12
    在DB2中插入数据一般LOAD最快,其次是IMPORT,最后是INSERT。因为PROCEDURE中不能使用LOAD和IMPORT语句,所以在这里我只谈INSERT。 在INSERT的时候要考虑加快速度,你可以此表的日志功能取消,并且INSERT的时候不要...
  • 使用多线程时,是几个线程之间切换计算,就像轮班工作一下,适合处理I/O密集型的任务。 对于python代码,多进程才是真正意义上的多个进程在同一时间同时计算,就像几个人同时工作,适合处理计算(CPU)密集型的任务 ...
  • SXSSFWorkbook写入大量数据的两点处理

    千次阅读 2018-08-05 18:03:04
    初用SXSSFWorkbook,感觉以读写大量数据为买点的SXSSFWorkbook,提供出了两个API,作为对大量数据处理的方式。这里对这两个API做一个小总结。 构造入参rowAccessWindowSize 这个参数,会指定一个sheet可读取的...
  • 大量数据的去重处理

    千次阅读 2019-08-02 16:59:19
    1:大量数据:很大的数据 2:部分数据:大量数据的一部分 3:内存处理部分数据(zhi'de) 4:分库分表对内存处理的数据进行处理,重复的不添加到数据库中,不重复的进行分库分表添加到数据库中。 5:分库分表:...
  • mysql如何处理大量数据

    千次阅读 2015-08-21 11:40:15
    mysql如何处理大量数据
  • CoreData处理大量数据

    千次阅读 2014-10-15 11:16:12
    这次的更新可谓是重量级的,它使得程序员能够更加直接高效的操作数据库,在处理大量数据时速度明显提升(这在以前不知有多少程序员因为Core Data批量更新数据效率之低而不得不放弃使用它)。Batch Updates可用于批量...
  • 服务器面对大量数据上传处理思想

    千次阅读 2018-08-25 20:15:44
    当大量设备连接服务器,大量数据上传到服务器,服务器要如何提高处理能力,来处理这些数据,数据源为设备数据。 服务器处理数据可以从已下几个方面考虑, 1.排队列处理机制。数据涌入服务器,但还是能够区分先后...
  • java如何处理大量数据

    2019-09-23 17:18:53
    1、实时接收udp数据包 ...2、因需求,处理每个数据包要耗费一定时间(如:1kb的数据处理100ms) 3、如果接收的是实时的视频直播内容的udp(限定每个udp包为1kb) 4、如何缓存后续接收到的udp数据
  • 多线程处理大量数据

    2020-04-15 18:12:34
    最近在在建设银行代发功能,需要批量处理代发数据,线性处理效率比较低,大概1秒钟一条数据;然后考虑用多线程处理。刚开始使用的是Executors.newFixedThreadPool(10)这种方式创建固定数量线程池;后面考虑到数据量...
  • 数据处理量较大的时候,最为头痛的就是数据的读写、运算效率。 data.table处理大数据集(数据文件达到以1G为单位)时相对于R语言的基本函数在数据读写、处理速度都不能与之相比可以对比基础函数、dplyr包函数做...
  • QTreeView处理大量数据

    千次阅读 2016-06-03 11:11:39
    如何使QTreeView快速显示1000万条数据,并且内存占用量少呢?这个问题困扰我很久,在网上找了好多相关资料,都没有找到合理的解决方案,今天在这里把我的解决方案提供给朋友们,供大家相互学习。 我开始使用的...
  • Java多线程处理大量数据

    万次阅读 2017-04-18 22:21:10
    并发环境是非常复杂的,什么情况都有可能发生,Java给我们提供了线程调度以及同步等机制来保证多线程环境下我们的代码依然可以正确执行,下面是多个线程处理大量数据的简单实现,入门级import java.util.ArrayList;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,083
精华内容 13,633
关键字:

大量数据处理