数据库sql查询分析引擎是否会对查询sql语句进行优化或其它处理?具体请看:http://www.cnblogs.com/know/archive/2012/12/26/2834324.html
肯定会的
你的第一个假设不成立,因为数据库是通用设计,它没有理由认定(category='恒源祥') 返回的记录数比(price>=45 and price<=138)返回的记录数多。就算是换做你来预估的话,你也没有理由这么认为,你的假设是从你对数据的统计得出的结果。因此,你的假设是本末倒置,你不能由一个已经得到的结果来证明你的出发点是对的。
事实上,(price>=45 and price<=138) 的条件会先于 (category='恒源祥')条件扫描。除非 category 是索引,那么它会被放到 seek 中,先于 price 执行。
有意思。性能应该是一样的。