mysql连接到常量联合

时间:2014-05-25 00:18:38

标签: php mysql union

我有一个mysql表,它存储两列之间的范围,如下所示:

id  start  end
 1      1    9
 2     20   49

我需要创建一个查询,允许用户提交最多10,000个整数值的列表,并且需要检查该值是否在范围内。我想避免运行10,000个单独的查询。我想要一个如下所示的数据集,其中PARAM是用户提交的10,000个整数值之一:

start  end  PARAM
    1    9      4
   20   49     18
    1    9      6
    1    9      8

我考虑过使用扩展的WHERE子句,比如start> =:PARAM AND end< =:PARAM,但是我只能从中得到范围,并且在应用程序中必须循环遍历每个参数并找到匹配范围。

我看到了工会的其他例子,但以前没有尝试过。

我还想过插入临时表,选择使用连接,然后清空它,但不知道它是否会更有效。

1 个答案:

答案 0 :(得分:0)

我最终创建了一个长查询,这是一个具有5,000个条件的原因,并以这种方式进行分解。该表太大,无法在服务器端循环中进入内存。

如果它成为问题我计划重构代码,让服务器将参数保存到文件并直接在mysql服务器上运行查询,将它们转储到表中或创建立方体来保存匹配。