is the query faster if my select statement is like Select Column A, Column B, Column C from Table? what if it's Select Column A, Column C, Column B from Table?
I see you have tagged with multiple RDBMS tags. My answer is ONLY for Oracle
.
In Oracle SQL, the order of columns in the SELECT list will have no effect in the performance of the query.
Let's test and verify:
CASE 1
SQL> EXPLAIN PLAN FOR
2 SELECT empno, ename, deptno FROM emp;
Explained.
SQL>
SQL> SELECT * FROM TABLE(dbms_xplan.display);
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 3956160932
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 182 | 3 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| EMP | 14 | 182 | 3 (0)| 00:00:01 |
--------------------------------------------------------------------------
8 rows selected.
SQL>
CASE 2
SQL> EXPLAIN PLAN FOR
2 SELECT deptno, ename, empno FROM emp;
Explained.
SQL>
SQL> SELECT * FROM TABLE(dbms_xplan.display);
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 3956160932
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 182 | 3 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| EMP | 14 | 182 | 3 (0)| 00:00:01 |
--------------------------------------------------------------------------
8 rows selected.
SQL>
CASE 3
SQL> EXPLAIN PLAN FOR
2 SELECT deptno, empno, ename FROM emp;
Explained.
SQL>
SQL> SELECT * FROM TABLE(dbms_xplan.display);
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 3956160932
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 182 | 3 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| EMP | 14 | 182 | 3 (0)| 00:00:01 |
--------------------------------------------------------------------------
8 rows selected.
SQL>
So, all the three test cases show that there is absolutely no difference at all.