• sql里Where条件顺序


    以前的理解: sql语句里where后面的条件是否分先后顺序的 ,比如 A and B and C和 C and B and A 是一样,不像C语言 A && B 与B && A 执行效果不一样,是从左向右的。

    为什么会得出这样的结论呢?也就是论据是什么?

    如果条件有三列a,b,c;b列上有索引 那么Where a='a' and b='b' and c='c' 与Where c='c' and b='b' and c='c' 都会优先选b列,因为b列有索引,所以不会是从左到右,或从右到左

    现在的理解: sql语句里where后面的条件运算是有先后顺序的,不是从左向右或者从右向左,这个具体是由编译器定的,也就是最后的执行计算里面会有先后顺序的。可能你交换条件的顺序生成的执行计划大体没有变化,但是计划里面的谓词是可能有变化的,这里就体现了执行条件的顺序。

    其实想细在计算机上执行的一条一条指定怎么会没有先后顺序呢,只是这个顺序我们一下说不出先执行哪个后执行哪个而已。

    ----------分割线-------------

    我测试一下代码格式,每次都不对

    print "Hello"
  • 相关阅读:
    URAL1204. Idempotents(扩展欧几里得)
    URAL1049. Brave Balloonists
    URAL1133. Fibonacci Sequence(二分)
    URAL1352. Mersenne Primes
    URAL1118. Nontrivial Numbers
    hdu3270Arranging Your Team(dfs)
    Codeforces Round #209 (Div. 2)C
    KMP
    树状数组求逆序对
    poj2352
  • 原文地址:https://www.cnblogs.com/gw2010/p/3450067.html
Copyright © 2020-2023  润新知