1.尽量避免对索引列进行计算;WHERE sa>950/1.1
2.比较值与索引列数据类型一致;emp_char:CHAR 型 WHERE emp_char=’123’
3.避免使用null;
4.对于复合索引,sql语句必须使用主索引列;错误的例子:复合索引(deptno,job) WHERE job=’MANAGER’ 正确的例子:复合索引(deptno,job) WHERE deptno=20
5.ORDER BY 字句规则:(1)子句中,列的顺序与索引的顺序一致。(2)子句中,列应该为非空列;
6.查询列的顺序和索引列(where)的顺序一致。错误的例子:SELECT empno,job FROM emp WHERE job=’MANAGER’ AND empno<100;正确的例子:SELECT empno,job FROM emp WHERE empno<100 AND job=’MANAGER’;
7.尽量少用嵌套(子)查询,多用表连接;
8.多表链接时,使用表别名;
9.用NOT EXISTS 代替 NOT IN;
10.多表链接代替 EXISTS;
11.少用DISTINCT ,用EXISTS 代替。