首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不完整的MySQL数据集中填补空白的最有效方法是什么?

在不完整的MySQL数据集中填补空白的最有效方法是什么?
EN

Stack Overflow用户
提问于 2013-02-11 10:19:26
回答 2查看 472关注 0票数 1

我有一个从MySQL表返回的值数据集,然后进行绘图。每个数据点()都应该在之间有一个固定的时间段,EG:

数据点1: 1-日期/时间: 2013-02-11 09:00

数据点2: 2-日期/时间: 2013-02-11 09:05:00

数据点3: 3-日期/时间: 2013-02-11 09:10:00

然而,情况并不总是如此。如果我们能够为图表包提供一组数据值、一个开始时间和一个间隔时间,它可以更快地处理和显示图表,而不是提供一个值列表和一个日期/时间列表。

在缺少数据点的情况下,使用0值填充MySQL查询最有效的方法是什么?例如,如果缺少数据点2,则使用上面的数据,我可以使用什么查询来获取MySQL来返回以下数据集:

数据点1: 1-日期/时间: 2013-02-11 09:00

数据点2: 0-日期/时间: 2013-02-11 09:05:00

数据点3: 3-日期/时间: 2013-02-11 09:10:00

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-11 10:23:03

我不会将垃圾输入到DB中,您可以在应用层进行预处理,它应该更快、更高效。

如果您对每个插入执行IO,则IO将成为一个巨大的瓶颈。在应用程序层(如Java )中排序和插入虚拟点可能会更快(在呈现图表之前可以这样做)。

此外,假设您有一个以CSV格式记录数据的文件,使用LOAD DATA的插入将非常快(可能比每行预处理和逐行插入快20倍)。

票数 0
EN

Stack Overflow用户

发布于 2013-02-11 15:01:19

在这个场景中,我将代码中的数组/散列/list初始化为零/空值,然后覆盖从数据库接收数据的值。

如果这需要服务器端完成,您可以创建一个临时表,将所有可能的日期存储在您感兴趣的时间间隔内,然后将当前的查询加入到其中。

这里的第二个例子:What is the most straightforward way to pad empty dates in sql results (on either mysql or perl end)?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14810111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档