大数据:百万级数据处理技巧篇(一)[通俗易懂]

大数据:百万级数据处理技巧篇(一)[通俗易懂]背景由于业务场景需要,公司或者个人可能需要对百万数据进行统计分析,方便后续进一步分析和决策。但往往由于数据量太大,数据很难通过传统excel手工

欢迎大家来到IT世界,在知识的湖畔探索吧!

背景

由于业务场景需要,公司或者个人可能需要对百万数据进行统计分析,方便后续进一步分析和决策。但往往由于数据量太大,数据很难通过传统excel手工处理。如果您不会数据库,小编这边给您一个建议,将数据拆小,分批处理,分而治之。如果您会某一种类型的数据库,并且正在为当前数据处理而感到烦恼,您可以尝试从下面找到您想要的答案。

面向群体

有数据库开发经验的人员

对数据/数据库感兴趣的人员

致力于数据分析的人员

热爱SQL的人员

废话不多说,直接上干货

1、如果目前您还选择数据库,数据处理是一次性的,您可以选择Mysql数据库。安装简单,处理百万及以上的数据量足够。

2、如果您已经安装好数据库了。您不妨从如下几个方面检查是否可以提升数据处理性能:

SQL 优化:

1、用多少查多少,例如,查询用户表用户姓名

select * from user a order by id ;

欢迎大家来到IT世界,在知识的湖畔探索吧!

替换为:

如果只需要用户名称,* 可以替换成 user_name,另外如果没有要求尽量不要加order by

欢迎大家来到IT世界,在知识的湖畔探索吧!select user_name from users a  ;

如果只需要用户名称,如果要查某人是否存在:可以加索引。

select user_name from users a where user_name='zhang san' ;

2、应尽量避免在 where ⼦句中对字段进⾏ null 值判断,null值不走索引,如:

欢迎大家来到IT世界,在知识的湖畔探索吧!select id from users where user_name is null;

替换为:

alter table users change  user_name user_name varchar(100) not null;

设置默认非空值,这样查询:

select id from users where user_name ='zhang san' ;

3、避免在 where ⼦句中使⽤ or ,这样会导致索引失效⽽进⾏全表扫描,如:

select id from users where id=1 or id=2;

可以这样查询:

select id from users where id=1
union all
select id from users where id=2

4、避免在 where ⼦句中使⽤like ‘%zhang%’,全模糊匹配,这样也将导致全表扫描,如:

select id from users where name like ‘%zhang%’

5、⽤ exists 代替 in

select id from users where id in (select user_id from account );

替换后:

select id from users u where exists  (select user_id from account  a where a.user_id=u.id);

本篇文章就先介绍到这里,如果大家遇到其他问题,欢迎在底下留言:包含但不限于数据导入导出/SQL性能问题/千万级数据优化/亿级数据优化

编:昊几居

作者介绍:资深大数据库开发工程师,专注数据治理方向。

大数据:百万级数据处理技巧篇(一)[通俗易懂]

大数据(BIG DATA)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/13789.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信