mysql - MySQL 日期时间字段的最接近匹配

标签 mysql performance

我从数据库中的两个传感器获得了原始数据。为了从这些传感器计算出有意义的结果,我需要每个传感器的一个数据点。问题是它们的时间戳不能保证完全匹配。我可以请求 MySQL 从一个传感器获取时间戳并找到最接近另一个传感器的时间戳,但是这个请求需要对每一行运行,然后在添加新行时再次运行,我是担心每当插入数据点时搜索表格可能会成为性能负担,特别是如果添加更多这样的传感器。至少对于一个朴素的算法来说,找到最接近的时间戳似乎是一个线性时间操作。会不会导致性能问题,或者MySQL有没有这方面的优化?

最佳答案

您可以使用一个简单的查询来获取最接近给定值的结果:

SELECT `timestampcolumn`
FROM `thetable`
ORDER BY ABS(`timestampcolumn` - givenvalue)
LIMIT 1

如果您在正确的列上使用索引,应该可以解决问题并且性能不是很密集。 MySQL 就是为这样的查询而生的。

关于mysql - MySQL 日期时间字段的最接近匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6132065/

相关文章:

mysql - "Lock wait timeout exceeded"进程列表中没有进程

performance - 某些通用寄存器是否比其他寄存器更快?

php - 如何读取 .xhprof 文件?

PHP MYSQL JOIN显示

MySQL - 导入大型数据库文件时,存储引擎出现错误 28

javascript - PHP MySQL 值传递给 JavaScript

mysql - 连接中的子查询未以正确的方式出现

java - PDF 的高效 SVG 渲染(Java、Batik、Flying Saucer)

c# - 如何将大量数据导出到 excel

javascript - 与使用 JavaScript 的下拉菜单登录表单相比,重定向到登录页面的优点