Oracle数据库优化的一些建议

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工具

你可能感兴趣的:(数据库类)