1、绑定变量,书写可共享的SQL
2、避免复杂的多表关联
3、避免使用*
4、避免使用耗资源的操作:union,minus,distinct,intersect,order by
用exist替换distinct,用union all替换union
5、多个索引时使用唯一索引,其他无效
6、组合索引至少要包含第一列,否则无效
7、避免在索引列使用函数造成全表扫描
8、避免使用前置通配符造成全表扫描
9、避免在索引列使用not造成全表扫描
10、避免在索引列使用is null和is not null
索引列不允许为空否则停用索引
11、避免出现索引列自动转换,转换后索引无效
12、查询时少用格式转换
13、减少访问数据库的次数
14、使用decode减少处理时间
15、减少对表的查询(特别是含子查询的SQL)
16、where语句解析顺序自下而上,记录少的条件放到最后
17、order by语句的非索引项和表达式都将降低查询速度
18、有联结的列不会使用索引
19、通配符%在词首出现不使用索引
20、用where子句替换having子句
21、用not exists替换not in
22、定期重构索引
23、用 >= 替换 >
24、通过使用>=,<=,避免使用not
25、尽量不用子查询
26、尽量多用commit
27、用truncate替代delete
28、count(*)优于count(1),count(索引列)优于count(*)
29、字符型字段的引号忘记加则不走索引
30、使用较大的Buffer可提高exp、imp的速度
31、用explain plan分析SQL语句
32、autotrace解读
33、使用TKPROF工具