Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个有趣的问题要问你,那里的 sql 大师(或者可能在这里?)。
当我需要在运行时构建查询时,我就有了这个习惯。为了避免多次'if'检查,我只是去写'where true'。然后其余部分是形式中的子句的另一部分,当然是 'and true ...' 并继续进行有用的过滤。
我的问题是:那些“真实和真实”会影响查询性能吗?对,最好的答案是进行一些测试,但是根据您的经验,您对这种方法有什么想说的吗?
对了,我特别感兴趣的sql引擎是MySql。
我们有 sql-server,但我们使用这种“不编程 ifs”(如果时间不多的话)1=1 作为表达式,并且我们无法测量性能影响。
我认为 MySQL 查询优化器摆脱了where true and true一些东西。
where true and true
不应该。我在 SQL Server 中做过很多次,它对执行计划没有影响。但是,我不会将其留在生产代码中。