insert into a1 values (0),(1);//(被除数)(除数) insert into a2 values (0),(0);// (被除数)(除数) insert into a3 values (0,0),(1,1);// (被除数,测试数)(除数,测试数) insert into a4 values (0,1),0);// (被除数,测试数)(除数,测试数)
需要知道的: select 4/0; ERROR: division by zero select * from a1 where (4 / a > 2) and (a > 0);// (4 / a > 2) a有可能为0 返回1; select * from a1 where (4 / a > 2) and (a > a-1); ERROR: division by zero select * from a2 where (4 / a > 2) and (a > 0); 无返回; select * from a3 where (4 / a > 2) and (b > 0); 返回1; select * from a4 where (4 / a > 2) and (b > 0); ERROR: division by zero
由此猜想select查询应该是有一步优化,首先对a处理,这样会加快速度,减少重复运算,从而,没有进行/0 *** 作。
当没有and时,执行计划会根据通过语法解析的节点复杂度进行重新排序,而有or的时候,就会按照手写的顺序。 总结
以上是内存溢出为你收集整理的对于postgresql and的简单猜想全部内容,希望文章能够帮你解决对于postgresql and的简单猜想所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)