我正在使用mysql。我需要从一组向量中的表(带有字段id,field1,field2,field3
)中选择行。是否可以通过一个查询来完成?如果是,我需要索引哪些字段以加快查询速度?这个查询比串行简单选择查询更快/更慢吗?(field1,field2,field3)
(v11,v21,v31),(v12,v22,v32),...,(v1N,v2N,v3N)
N
先感谢您!
我正在使用mysql。我需要从一组向量中的表(带有字段id,field1,field2,field3
)中选择行。是否可以通过一个查询来完成?如果是,我需要索引哪些字段以加快查询速度?这个查询比串行简单选择查询更快/更慢吗?(field1,field2,field3)
(v11,v21,v31),(v12,v22,v32),...,(v1N,v2N,v3N)
N
先感谢您!
您可以像这样进行多列IN
比较:
SELECT id,
field1,
field2,
field3
FROM tbl
WHERE (field1,field2,field3) IN (
(v11,v21,v31),
(v12,v22,v32),
(v1n,v2n,v3n)
)
它本质上是在说:
在哪里
(field1 = v11 AND field2 = v21 AND field3 = v31) OR
(field1 = v12 AND field2 = v22 AND field3 = v32) OR
... OR
...