`

Oracle Sql语句优化

 
阅读更多

一. 建议不用“*”来代替所有列名

    执行连接时使用完全限定的列引用

    在查询中包含表别名,并在查询中使用每列的别名,这样称为完全限定的列引用。

--SUBHEAD、SUMMARY没有使用完全限定的列引用,数据库必须从两个表来获取这两个字段
SELECT S.ID AS SID, S.NAME, C.TITLE, SUBHEAD, SUMMARY
  FROM TEST_CONTENT C, TEST_SORT S
 WHERE C.SORT_ID = S.ID
   AND C.SORT_ID = 170

--全部使用
SELECT S.ID AS SID, S.NAME, C.TITLE, C.SUBHEAD, C.SUMMARY
  FROM TEST_CONTENT C, TEST_SORT S
 WHERE C.SORT_ID = S.ID
   AND C.SORT_ID = 170

 

二.添加表索引

    B-Tree索引,Bitmap索引

    查看Oracle数据库索引

 

三.使用Where而不是Having

   这样可以不为过滤掉的行进行分组。

 

四.使用UNION ALL而不是UNION

    UNION ALL不会删除重复行,UNION要删除重复行。

 

五.使用Exists而不是In,用Not Exists替代Not In,用Exists替代Distinct

   

SELECT C.ID, C.TITLE, C.SUBHEAD, C.SUMMARY
  FROM TEST_CONTENT C
 WHERE C.SORT_ID IN (SELECT ID FROM TEST_SORT);

SELECT C.ID, C.TITLE, C.SUBHEAD, C.SUMMARY
  FROM TEST_CONTENT C
 WHERE EXISTS (SELECT 1 FROM TEST_SORT S WHERE S.ID = C.SORT_ID);

 

六. 用Truncate代替Delete

    在确保完整性的情况下多用Commit

    尽量减少表的查询次数

 

七.

   

八.使用Grouping Sets而不是Cube

 

九.使用绑定变量

    Oracle数据库软件会缓存已经执行的SQL语句,如果以后执行相同的SQL语句就重用缓存。但有一个规则,要重用缓存语句,SQL语句要完全相同。

    1.SQL语句中所有字符必须相同。

    2.SQL语句中所有字母的大小写必须相同。

    3.SQL语句中的所有空格必须相同。

    4.如果语句中提供不同的列值,可以使用绑定变量,而不是常量列值。

 

十.Oracle优化器

       1)语法检查:检查SQL语句拼写是否正确。

       2)语义分析:核实所有与数据字典不一致的表和列的名字。

       3)概要存储检查:检查数据字典,以确定该SQL语句的概要是否已经存在。

       4)生成执行计划:使用基于成本的优化规则和数据字典中的统计表来决定最佳执行计划。

       5)建立二进制代码:基于执行计划,Oracle生成二进制执行代码。

       6)Oracle11g数据库在执行SQL语句时,都是使用基于代价(或者成本)的优化器。

           CBO是基于代价(Cost-Based Optimizer)的意思,CBO计算各种可能执行计划的代价,即Cost。这里的代价主要指CPU和内存。优化器主要参照的是表及索引的统计信息,这些统计信息起初在库内是没有的,是在做analyze后才出现的,要及时更新这些信息。

 

十一.执行计划

  查看执行计划,优化SQL     

分享到:
评论

相关推荐

    ORACLEsql语句优化

    ORACLEsql语句优化,性能优化,语句技巧优化

    Oracle sql语句优化

    Oracle sql语句优化53个规则详解

    Oracle SQL 语句优化

    Oracle SQL 语句优化,

    oracle sql语句优化

    Oracle SQL语句优化是数据库管理中的重要环节,它涉及到如何高效地执行SQL查询,从而提高数据库性能和响应速度。在Oracle数据库系统中,SQL优化主要包括以下几个方面: 1. **优化器(Optimizer)**:优化器是Oracle...

    Oracle sql语句优化规则汇总

    ### Oracle SQL语句优化规则详解 #### 一、选择正确的优化器 在Oracle数据库中,SQL语句的执行效率很大程度上取决于所选的优化器。Oracle提供了三种优化器模式: 1. **基于规则的优化器(RULE)**:这是Oracle...

    ORACLE SQL语句优化技术分析.rar

    Oracle SQL语句优化是数据库管理中的关键环节,它关乎到系统的性能、效率和资源利用率。在Oracle数据库系统中,SQL(Structured Query Language)是用于查询、插入、更新和删除数据的标准语言。当处理大量数据时,...

    Oracle SQL语句优化技术分析

    ### Oracle SQL语句优化技术分析 #### 概述 Oracle SQL语句优化是数据库管理中的一个重要环节,通过优化SQL语句可以显著提升系统的响应速度、提高数据库资源的利用率以及改善用户体验。本文将从多个角度出发,详细...

    Oracle SQL语句优化技术分析.pdf

    【Oracle SQL语句优化技术分析】 Oracle SQL语句优化是提升数据库性能的关键环节,尤其是在处理大量数据时。本文主要从两个方面分析了SQL语句优化的技术:正确使用索引和合理安排SQL语句的书写方式。 1. 正确使用...

    Oracle SQL语句优化53个规则详解

    下面根据提供的文档内容,详细解析Oracle SQL语句优化的53个规则中的部分内容。 首先,Oracle优化器的类型包括RULE(基于规则)、COST(基于成本)和CHOOSE(选择性)。在优化器模式的选择上,有几种方式可以设置,...

    oracle SQL语句优化概述

    ### Oracle SQL语句优化概述 #### 一、引言 SQL语句的优化是数据库管理领域中的一个重要课题,尤其在Oracle数据库中更是如此。优化执行SQL语句不仅可以提高应用程序的性能,还可以提升用户体验。本文旨在从Oracle...

    ORACLE SQL语句优化总结

    【ORACLE SQL语句优化总结】 在Oracle数据库中,SQL语句的优化是提升系统性能的关键环节。以下是一些常见的优化策略: 1)选择最有效的表名顺序:Oracle的解析器按照FROM子句中表的右到左顺序处理,基础表...

    Oracle Sql语句转换成Mysql Sql语句

    本项目提供了一个Java源码工具,能够帮助用户便捷地将Oracle SQL语句转换为MySQL SQL语句。 Oracle SQL与MySQL SQL的主要差异在于以下几个方面: 1. **数据类型**:Oracle支持的数据类型如NUMBER、LONG、RAW等在...

    Tosska SQL Tuning Expert for Oracle SQL语句优化器

    一款针对Oracle SQL语句优化的工具,对于某些耗时的查询语句有很好的优化效果。该软件的优化手段是引入Oracle的hint功能,手动给查询语句指定更优的执行计划来达到优化效果。

    SQL优化 SQL优化软件 SQL优化工具

    3. **建议与改写**:自动提供优化建议,包括修改SQL语句结构、创建或调整索引、优化连接方式等,有时甚至可以直接改写SQL语句以提高性能。 4. **历史记录与报告**:记录SQL语句的执行历史,生成性能报告,便于跟踪...

    ORACLESQL性能优化.pptx

    Oracle SQL 语句优化的重要性是不言而喻的。开发人员不能只关注功能的实现,不管性能如何。开发人员不能把 Oracle 当成一个黑盒子,必须了解其结构、处理 SQL 和数据的方法。必须遵守既定的开发规范,未经过 SQL ...

    ORACLE SQL语句优化技术分析

    在分析Oracle SQL语句的优化技术之前,首先要认识到随着数据量的增长,SQL语句的性能将直接影响到整个系统的运行效率。优化SQL语句是提高数据库性能的关键环节。以下是根据文档内容提炼出的知识点: 1. 问题的提出...

    ORACLE SQL性能优化系列

    ORACLE SQL性能优化系列 ORACLE SQL性能优化是数据库管理员和开发者非常关心的一个话题。为了提高数据库的性能,ORACLE 提供了多种优化技术。下面我们将详细介绍 ORACLE SQL 性能优化系列中的一些重要知识点。 一...

    Oracle SQL语句性能优化

    Oracle SQL语句性能优化是数据库管理中的关键环节,直接影响到系统的响应速度和资源利用效率。本文将详细探讨优化Oracle SQL语句的几个核心策略。 1. 选择合适的优化器 Oracle 提供了三种优化器:RULE(基于规则)...

Global site tag (gtag.js) - Google Analytics