0

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

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

我的问题是:那些“真实和真实”会影响查询性能吗?对,最好的答案是进行一些测试,但是根据您的经验,您对这种方法有什么想说的吗?

对了,我特别感兴趣的sql引擎是MySql。

4

3 回答 3

2

我们有 sql-server,但我们使用这种“不编程 ifs”(如果时间不多的话)1=1 作为表达式,并且我们无法测量性能影响。

于 2009-01-13T08:17:08.397 回答
1

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

于 2009-01-13T08:20:54.257 回答
0

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

于 2009-01-13T08:21:01.820 回答