我从数据库中的两个传感器获得了原始数据。为了从这些传感器计算出有意义的结果,我需要每个传感器的一个数据点。问题是它们的时间戳不能保证完全匹配。我可以请求 MySQL 从一个传感器获取时间戳并找到最接近另一个传感器的时间戳,但是这个请求需要对每一行运行,然后在添加新行时再次运行,我是担心每当插入数据点时搜索表格可能会成为性能负担,特别是如果添加更多这样的传感器。至少对于一个朴素的算法来说,找到最接近的时间戳似乎是一个线性时间操作。会不会导致性能问题,或者MySQL有没有这方面的优化?
最佳答案
您可以使用一个简单的查询来获取最接近给定值的结果:
SELECT `timestampcolumn`
FROM `thetable`
ORDER BY ABS(`timestampcolumn` - givenvalue)
LIMIT 1
如果您在正确的列上使用索引,应该可以解决问题并且性能不是很密集。 MySQL 就是为这样的查询而生的。
关于mysql - MySQL 日期时间字段的最接近匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6132065/