查询大表(> 150万行)3次或在同一查询中放入3个条件会更好吗?样本where
条款如下。有类似或更复杂的where
子句。我的直觉是把他们全部在相同的where
。但需要来自社区的一些意见。提前致谢。查询大表
where (a =1 or b=1) and (a=2 or b=3) and (c=1 or d=3)
查询大表(> 150万行)3次或在同一查询中放入3个条件会更好吗?样本where
条款如下。有类似或更复杂的where
子句。我的直觉是把他们全部在相同的where
。但需要来自社区的一些意见。提前致谢。查询大表
where (a =1 or b=1) and (a=2 or b=3) and (c=1 or d=3)
单次访问数据库是绝对可取的。确保你索引a
,b
,c
和d
列,你应该没问题。
将它们全部放在同一个where
子句中通常会更快。但是,每个查询都是不同的,并且确保您检查每个查询的查询计划,以确保您可以获得最佳性能。
这一切都取决于你的模式(数据类型,键,指示等),一般来说我会说你会更好的将所有的条件添加到相同的where子句,所以查询优化器有尽可能多的信息与...合作。找出最好的方法是运行一些测试,看看哪种方法可以在数据/模式下获得最佳性能。
把它放在一个查询。
除了降低开销之外,您将通过这种方式消除重复项。如果您有一条符合多个条件的行,那么如果您查询多次,它将在最终结果集中显示两次。
您的逻辑可能与AND和OR相反 - 您可以检查吗? –
只需运行查询并亲自体验 –
感谢你们所有人的时间和精力。 –