mysql 大数据量查询

mysql 大数据量查询,第1张

查询大量数据的,如果出现如下情况,就说明最大内存已经耗尽:

可临时修改脚本使用内存大小进行处理:

注意:

当使用libmysqlclient作为库时,PHP的内存限制将不会计算用于结果集的内存,除非将数据读入PHP变量。与mysqlnd的内存占用将包括完整的结果集。

由于缓冲查询是默认的,下面的示例将演示如何使用每个API执行无缓冲的查询。

mysql处理大数据很困难吧,不建议使用mysql来处理大数据。

mysql有个针对大数据的产品,叫infobright,可以看看,不过好像是收费的。

或者研究下,Hadoop,Hive等,可处理大数据。

如果有预算,可以使用一些商业大数据产品,国内的譬如永洪科技的大数据BI产品,不仅能高性能处理大数据,还可做数据分析。

当然如果是简单的查询,mysql如果做好索引,可能可以提高性能。

表的结构再简单,也架不住数据量庞大啊。只有2个字段的表,查询语句上好像也做不出什么优化。个人想法是,防伪码不会经常被查。一般一个防伪码被查个两三次就差不多了吧,是否可以考虑把建立时间较久远的防伪码去除,只保留一段时间以内的。或者按序列号创建时间分表存储数据,时间较为久远的数据单独放一张表;近期的新序列号放在另一张表,增加序列号生成时间字段。但凡在一定的创建时间之前的老序列号,就去查老表老数据,否则就查新表新数据。序列号的生成应该是有规律的吧,大数据只能分表来提升查询效率。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5943234.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-09
下一篇 2023-03-09

发表评论

登录后才能评论

评论列表(0条)

保存