• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >oracle > oracle 性能优化建议小结

oracle 性能优化建议小结

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了oracle性能优化,oracle数据库性能优化,oracle性能优化服务,苏州oracle性能优化,oracle sql性能优化等相关知识,希望本文的分享对您有所帮助

原则一:注意WHERE子句中的连接顺序:
ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.
尤其是“主键ID=?”这样的条件。

原则二: SELECT子句中避免使用 ‘ * ‘:
ORACLE在解析的过程中, 会将'*' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间 。

简单地讲,语句执行的时间越短越好(尤其对于系统的终端用户来说)。而对于查询语句,由于全表扫描读取的数据多,尤其是对于大型表不仅查询速度慢,而且对磁盘IO造成大的压力,通常都要避免,而避免的方式通常是使用索引Index。

使用索引的优势与代价。
优势:
1)索引是表的一个概念部分,用来提高检索数据的效率,ORACLE使用了一个复杂的自平衡B-tree结构. 通常,通过索引查询数据比全表扫描要快. 当ORACLE找出执行查询和Update语句的最佳路径时, ORACLE优化器将使用索引. 同样在联结多个表时使用索引也可以提高效率.
2) 另一个使用索引的好处是,它提供了主键(primary key)的唯一性验证.。那些LONG或LONG RAW数据类型, 你可以索引几乎所有的列. 通常, 在大型表中使用索引特别有效. 当然,你也会发现, 在扫描小表时,使用索引同样能提高效率.
代价: 虽然使用索引能得到查询效率的提高,但是我们也必须注意到它的代价. 索引需要空间来存储,也需要定期维护, 每当有记录在表中增减或索引列被修改时, 索引本身也会被修改. 这意味着每条记录的INSERT , DELETE , UPDATE将为此多付出4 , 5 次的磁盘I/O . 因为索引需要额外的存储空间和处理,那些不必要的索引反而会 使查询反应时间变慢.。而且表越大,影响越严重。

使用索引需要注意的地方:

1、避免在索引列上使用NOT , 
我们要避免在索引列上使用NOT, NOT会产生在和在索引列上使用函数相同的影响. 当ORACLE”遇到”NOT,他就会停止使用索引转而执行全表扫描.

2、避免在索引列上使用计算.
WHERE子句中,如果索引列是函数的一部分.优化器将不使用索引而使用全表扫描. 举例:

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • oracle 使用递归的性能提示测试对比
  • oracle 性能优化建议小结
  • 基于Oracle的高性能动态SQL程序开发
  • Oracle性能究极优化 上第1/2页
  • Oracle性能究极优化
  • Oracle性能究极优化 下

相关文章

  • 2017-05-11linux下oracle设置开机自启动实现方法
  • 2017-05-11常见数据库系统比较 Oracle数据库
  • 2017-05-11PL/SQL Number数字类型函数
  • 2017-05-11Oracle的数据字典技术简析
  • 2017-09-08oracle触发器介绍
  • 2017-05-11Oracle定义DES加密解密及MD5加密函数示例
  • 2017-05-11oracle数据库索引失效
  • 2017-05-11oracle 数据库连接分析
  • 2017-05-11Oracle10g通过DBLink访问MySQL示例
  • 2017-09-17Oracle HANGANALYZE使用

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • oracle用户权限、角色管理详解
    • Oracle 跨库 查询 复制表数据 分布式查询介绍
    • 修改oracle数据库用户名及密码的方法
    • ORACEL使用脚本来修改表结构
    • Oracle数据库集复制方法浅议
    • oracle应用程序实现打包 的方法
    • oracle合并列的函数wm_concat的使用详解
    • oracle执行cmd的实现方法
    • Oracle捕获问题SQL解决CPU过渡消耗
    • Oracle 11g2的监听器配置教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有