打破沙锅---提高数据库oracle性能

本文介绍了通过建立索引、优化查询条件、使用存储过程等11种方法来提高数据库性能的具体策略。涵盖了避免整表扫描、合理安排WHERE子句中的条件、减少事务日志备份的影响等多个方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、避免整表扫描。建立索引‘快表’。
      数据库默认状态采取整表扫描。避免方法就是在where字句中涉及的字段建立索引‘快表’。
    注意索引有与表同步更新的性能损耗问题,当表比较小时没有必要建索引,当查询的记录数占表大小的10-15%,索引最有效。注意可以建立复合索引。
2、where字句中查询条件的安排,在oracle中是最严格限制条件放在最后,因为查询优化器从后向前分析查询条件。所谓最严格限制条件是返回最少记录集的条件。
3、使用存储过程或函数或触发器或嵌入式sql。
4、尽量避免使用逻辑运算符号OR而用IN代替它。
5、事务日志的备粉影响性能。
6、隔离批量事务处理与用户的事务处理,因为用户的事务处理最终将在与批量事务处理的资源竞争中处于劣势。  最好把二者分开执行。
7、删除索引是提高批量装载或记帐事务性能的一个有效途径,最后再重建索引
8、经常执行Commit/rollback语句,以定期清空回退段,否则将令数据库停止事务处理。
9、重新分配空间,整理表/索引碎片。表分区、索引分区,把表或索引分布在不同的磁盘,可以降低磁盘i/o的争用,提高查询的速度。
     表分区:范围、散列、复合、列表分区,可以属于不同表空间,从而达到分散数据到不同磁盘的目的。
     索引分类:唯一索引、复合索引、反向键索引、位图索引、索引组织表。
    索引分区:局部分区索引、全局分区索引、全局非分区索引。
       注意索引组织表不允许分区。
10、调整用户处理过程的时间片变量。
11、增加cpu/内存
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值