gpt4 book ai didi

sql - sqlite 是否在 WHERE 处短路

转载 作者:行者123 更新时间:2023-12-03 03:47:37 25 4
gpt4 key购买 nike

例如:

select * from A where 
predicate1 and
predicate2 and
predicate3;

如果 predicate1 返回 false,程序是否会继续评估其他谓词?干杯。

最佳答案

优化器可能会对谓词重新排序,一般情况下,所有谓词都会被执行:

sqlite> .explain onsqlite> explain select 1 where 11=22 and 33=44;addr  opcode         p1    p2    p3    p4             p5  comment      ----  -------------  ----  ----  ----  -------------  --  -------------0     Trace          0     0     0                    00               1     Integer        11    3     0                    00               2     Integer        22    4     0                    00               3     Eq             4     2     3                    72               4     Integer        33    3     0                    00               5     Integer        44    5     0                    00               6     Eq             5     4     3                    72               7     And            4     2     1                    00               8     IfNot          1     12    1                    00               9     Goto           0     13    0                    00               10    Integer        1     6     0                    00               11    ResultRow      6     1     0                    00               12    Halt           0     0     0                    00               13    Goto           0     10    0                    00               

关于sql - sqlite 是否在 WHERE 处短路,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19640229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com