如: select(选择示列) ,from ,where, group by ,having, order by;
where 里面条件 and 是先执行 and 前面 还是后面条件
还有 or
谢谢解答
and 执行顺序 跟数据库有关系没 如:oracle sql server mysql 他们的顺序是一样吗
在没得索引 应该有关系吧
追答如果没有索引的话, 我感觉上,条件写前写后,差别应该不会太大
下面是一个测试的例子,仅供参考
SQL> CREATE TABLE my_test AS SELECT * FROM all_objects;
表已创建。
对比分析的结果: [字数限制,删除了部分信息]
SELECT
COUNT(1)
FROM
my_test
WHERE
owner = 'TEST' AND object_name = 'MY_TEST'
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 4 0.01 0.01 0 690 0 1
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: 61 (TEST)
Rows Row Source Operation
------- ---------------------------------------------------
1 SORT AGGREGATE (cr=688 pr=0 pw=0 time=3790 us)
1 TABLE ACCESS FULL MY_TEST (cr=688 pr=0 pw=0 time=3749 us)
Rows Execution Plan
------- ---------------------------------------------------
0 SELECT STATEMENT MODE: ALL_ROWS
1 SORT (AGGREGATE)
1 TABLE ACCESS (FULL) OF 'MY_TEST' (TABLE)
SELECT
COUNT(1)
FROM
my_test
WHERE
object_name = 'MY_TEST' AND owner = 'TEST'
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 4 0.00 0.00 0 689 0 1
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: 61 (TEST)
Rows Row Source Operation
------- ---------------------------------------------------
1 SORT AGGREGATE (cr=688 pr=0 pw=0 time=6035 us)
1 TABLE ACCESS FULL MY_TEST (cr=688 pr=0 pw=0 time=5997 us)
Rows Execution Plan
------- ---------------------------------------------------
0 SELECT STATEMENT MODE: ALL_ROWS
1 SORT (AGGREGATE)
1 TABLE ACCESS (FULL) OF 'MY_TEST' (TABLE)