在数据库中的值之间搜索的最佳方式


Best way to search between values in a db

我有一个查询来列出一组数字,例如1000000到2000000,然后在while循环中运行另一个查询,看看它是否与另一个数据库中的另一个表匹配。这部分运行良好,但有点慢。

然后,我需要有另一个查询,这样,如果它返回false,那么它将对另一个表进行另一次检查。不过,我遇到的问题是,这张表中的检查并不像匹配那么简单。

最后一张表上的表结构如下:

  • firstnum
  • 秒数

这适用于一系列数字。例如,第1行可能是:

1000023, 1000046

这意味着它适用于介于和包括这些值之间的所有数字。DB中有数千个这样的条目,我正在试图找出最好的方法来确定我搜索的特定数字是否存在于该表的某个位置,但由于这不是直接匹配的,我不确定如何实现这一点。该表也是PostgreSQL,而主要查询是MySQL。

很难理解你想说什么,但恐怕解决方案简单得离谱:... WHERE firstnum <= X AND X <= secondnum,其中X是你要找的数字。