Mysql 准备用于可视化的百万行数据

Mysql 准备用于可视化的百万行数据,mysql,database,bigdata,Mysql,Database,Bigdata,我们希望开发一个基于web的应用程序,该应用程序能够使用数百万行数据生成报告,并且每秒钟都在增长。我们使用的是Mysql数据库 我们希望使用这些数据生成报告。这就是为什么我们需要过滤数据,对其进行一些计算,并将其作为图表、表格等使用。。。构建图表、表格是可以的,我想问的是如何导出数据 导出报表数据的第一种方法是使用本机SQL查询; 但是,每个报表的过滤和计算速度非常慢,因此我们将有100多个用户可以导出报表 第二种方法是使用视图; 我们可以为自定义计算和视图构建视图,这是一种处理计算的简单方法,

我们希望开发一个基于web的应用程序,该应用程序能够使用数百万行数据生成报告,并且每秒钟都在增长。我们使用的是Mysql数据库

我们希望使用这些数据生成报告。这就是为什么我们需要过滤数据,对其进行一些计算,并将其作为图表、表格等使用。。。构建图表、表格是可以的,我想问的是如何导出数据

导出报表数据的第一种方法是使用本机SQL查询; 但是,每个报表的过滤和计算速度非常慢,因此我们将有100多个用户可以导出报表

第二种方法是使用视图; 我们可以为自定义计算和视图构建视图,这是一种处理计算的简单方法,但查询速度较慢。所以过滤会减慢我们的速度


我不知道是否可以使用外部工具实时过滤和计算数据。生成报表数据的最佳快速方法是什么。

在数据库级别进行过滤应该比其他方法更快。由于我没有太多关于数据库、表和查询的信息,您可以尝试修改表架构、在筛选器列上添加键、使用explain查询、在where子句中更改筛选器列的顺序、仅提取必要的列,从而将尽可能少的数据量从后端传输到前端,等等。在客户端执行任何需要的额外数据操作。
希望这对您有所帮助。

您需要一个配置良好的服务器,让您可以使用它的资源-不要使用默认的MySQL配置。你的数据方案将是一个巨大的因素。报告完成后,应缓存,并在新数据进入时更新缓存-这称为物化视图或物化视图。MySQL的MariaDB fork有一个叫做Flexviews的东西,它会随着数据的进入而增量更新,而且非常高效。基本上,您可以将缓存与最佳服务器和数据架构配置结合起来。对于一百万(正确索引)行,默认设置应该可以