sql查询性能使用有点奇怪的where子句

时间:2009-01-13 08:05:52

标签: sql where

我有一个有趣的问题,那里的sql大师(或者可能在哪里?)。

当我需要在运行时构造一个查询时,我就习惯了这个习惯。为了避免多次'if'检查,我只是去写'where true'。然后其余部分是形式中的条款的另一部分,当然是“真实......”并继续进行有用的过滤。

我的问题是:那些'真实和真实'会影响查询效果吗? 是的,最好的答案是进行一些测试,但根据您的经验,您可以对此方法说些什么?

顺便说一句,我特别感兴趣的sql引擎是MySql。

3 个答案:

答案 0 :(得分:2)

我们有sql-server,但我们使用这种“不编程ifs”(如果时间很少)1 = 1作为表达式,并且没有我们可以确保的性能影响。

答案 1 :(得分:1)

我认为MySQL查询优化器摆脱了where true and true的东西。

答案 2 :(得分:0)

不应该。我在SQL Server中已经多次这样做了,它对执行计划没有影响。但是,我不会将其留在生产代码中。