mysql是一次性取出数据再分析好还是分多次提取部分数据好?

1

这个个人认为是要看数据量,数据量小怎么处理都可以,数据量大还是要根据性能之类做相应的处理。把数据都取出来是不推荐的一种行为。

Mysql数据分析用到的函数

做数据分析,我们要先看一下mysql的自带的函数或者自己写的函数、存储过程之类的能不能帮助我们把问题给解决掉。数据中常用的统计汇总是不是就可以了。以下两个函数是日常用的比较多的

  • group by/group_concat

group by/group_concat可以利用分组功能,将数据汇总到一个字段,同时也可以进行相应的排序,例如将所学生的成绩按照课程名称汇总到3个字段中,形如:

(姓名,课程名称,课程成绩)->(张三,数学|英语|...,90|80|...)

2

个人感觉这类问题毫无意义,一看就知道不是技术人提的,逻辑混乱。

出题者你能否告诉我一下,是枪好还是刀好吗?

一切问题脱离了场景,便就没有了答案。

业务需求决定了技术的选型以及采用的方式,技术是为业务服务的,业务成就技术。

没有最好的方法,只有相对合适的方法。

3

这里需要有个假设:

假设数据必须从数据库取出在程序内处理,而且所有数据都取出来后才可以处理。

在此假设下,要考虑的就是数据读取效率的权衡。

单次读取和多次读取的区别在哪里呢?

  • 单次:一次数据库连接,数据库占有时间较长
  • 多次:多次数据库连接,每次占有时间较短

如果是多用户的环境,并且数据量非常大,最好多次读取,也给别的用户读取数据库的机会。

4

这实际上涉及到数据量问题,我之前有做过类似数据分析项目,我可以明确给的建议是如果是数据量小,就1000行那种,直接提取出来分析是最快的方案。

如果是百万级别的数据,机器内存无法支撑的情况下,这时候就需要分批处理,除非你有特殊的需求。


在数据量小的情况下,你还可以直接在SQL语句进行计算,当然平常我比较推荐在代码中计算,SQL只做读写,维护起来简单明了。

在大数据下一般都要分块处理,有个好处是利用集群能够将批量数据用相同的脚本分到不同机器上去计算,计算后将数据再写入集群即可。


当然有些时序数据或者实时数据无法做到分块处理,还是那句话,具体需求才能具体解决问题。


如果你对科学和科技内容感兴趣,欢迎订阅我的头条号。我会在这里发布所有与科技、科学有关的有趣文章。偶尔也有趣的问题,有问题可随时在评论区回复和讨论,看到即回。

5

MySQL关系型数据库作为当下最流行的数据,它是一种开放源代码的关系型数据库管理系统。采用了结构化查询语言的数据库管理语言进行数据管理,MySQL因为其速度可靠性的高效率下,选择MySQL是管理内容的最好选择。

MySQL的数据导入分为两种,先导入SQL脚本,再导入这种方法,直接拷贝数据的目录和它的文件。这种方法比较简便,对于处理一些简单的数据比较实用,而对于处理大型的数据话这就涉及到了分块处理,需要用到函数,group by则是一个很好的选择,它可以对数据片段进行处理,对大型数据比较实用,而对于小数据用SQL处理就行,另外,MySQL做为储存不适合计算。

6

MySQL关系型数据库管理系统,MySQL在当下是属于最流行的关系型数据库处理系统

它使用c和c++编写并使用了很多种的编译器保证数据源代码的可移植性,MySQL5.0的搜索引擎,有很高的插入,但不支持事务。

主要还是看数据量来,这就涉及到MySQL的函数关系,在数据量小的情况下,直接用SQL进行计算就可以,简单也方便维护,而在百万级的数据下,则需要分块数据进行处理。

group by 功能在方便你计算的时候做一个片段分类,但是MySQL数据作为储存建议不要大批量的导出。

7

这个是不一定的,各有各的好处和分情况看呢就MySQL来说它是一个开放源代码的关系型数据库管理系统,可以根据自己的个性下载和修改。

对于数据的处理这就涉及到函数了 group by 就是一个很不错的函数,作用是通过一定的规则将一个数据分成多个小区域,针对于若干小区域进行数据的处理

但是在针对一些小数据的时候SQL就可以处理

8

这种要看具体的情况才能决定是一次性提好还是分多次提取这取决于你的数据量

MySQL作为最常见的开放源代码关系型数据库管理系统,任何人都可以在general public license的权限许可下载和进行修改,对于数据的导入来说,MySQL分为两种一是先导入数据库里面的SQL脚本再导入,其次直接把数据库的数据进行拷贝,当然这种情况可能发生不兼容。

二是SQL的脚本形式这种方法比较复杂,但是也比较稳定和效率,在处理数据的时候,一般的小数据建议直接用SQL处理就行,而涉及到大的数据还是要考虑其他方法,这其中就涉及到函数。group by这个函数就可以用于分段相同的数据处理,这样比较方便,另外MYSQL只用于做数据的储存,不适合用于计算数据。

9

在海量数据,高并发情况下,每次sql语句执行时间不要超过200ms,禁止连表查询,禁止group by等涉及计算的sql语句。

mysql负责存储,不要负责数据分析,合理利用冗余字段来减少连表,大数据量的分析,另外建库,从主库同步数据过去,读取之后存中间表,或通过Hadoop等方式做数据分析

10

兄弟呀,这就好比去银行取钱。你老婆叫你取五块钱买包盐,你总不能去柜台取五次一块吧;认识个妹纸不错,不能动之以情,你想取钱去晓之以利,不琢磨你也知道,一次取好还是多次取好吧;再比如马云太太想称称自家的钱有多少吨,你想她能一次性取吗。总之一句话,这是个度的问题,存乎一心,总的原则就是不给别人添麻烦,不给自己找罪受。太任性就是纵欲过“度”.

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章