`

常规的sql查询优化

 
阅读更多

一、最好查询语句中不要使用“*”来代替列名,而采用实际会用到的列名。

因为星号会查询一个表所有的列,这会消耗系统的查询时间

二、尽量减少表查询次数

三、用[not] exists 代替[not] in

四、创建索引(最好是给每个查询条件的相关列都创建一个索引)

(1)创建索引的语句:

 

create index index_name on table_name(column_name);

(2)监视索引(通过监视,可以知道哪些索引未被使用,可将这些索引删除)

 

语句:

alter index index_name monitoring usage;

 (3)检查索引使用情况

语句:

select * from v$object_usage;

 (4)删除索引语句

drop index index_name;

 五、选择驱动表(紧跟from之后的表,通常以全表扫描的方式被访问)

给驱动表创建索引

六、尽量避免全表扫描大表

以下情况,oracle会进行全表扫描

(1)所查询的表没有设置索引

(2)需要返回所有的行,带星号"*"

(3)带like并使用“%”这样的语句

(4)对索引主列有条件限制,但使用了函数

(5)带有is null 、is not null 或!=等字句也会导致全表扫描

七、注意where子句的连接顺序

由于oracle采用自下而上的顺序解析where子句,根据这个原理,表之间的连接必须写在其他where条件之前。那些可以过滤掉最大数据记录的条件必须写在where子句的末尾,也就是在进行表连接操作之前,过滤掉的记录数越多越好。

八、查看执行计划,根据执行计划进行的cost进行修改

分享到:
评论

相关推荐

    基于mysql的sql常规优化

    sql常用优化手段

    SQLServer性能优化与管理的艺术

    资源名称:SQL Server性能优化与管理的艺术内容简介:本书共15章,分为三部分,第一部分(第1-2章)为概述部分,阐述SQLServer方面的“性能”及相关概念。并给出常规的性能及性能相关的问题侦测的“方法论”,读者...

    oracle优化-SQL优化

    在实施SQL优化时,还需要综合考虑查询的性能、数据的存储结构、以及用户的查询习惯。在某些情况下,例如当表中的数据量非常少时,全表扫描可能会比使用索引更高效。因此,在实际操作中,需要结合具体情况,通过测试...

    SQL的优化.xmind

    对于关系型数据的常规优化,我们该从那些方面入手,具体的操作是什么,以及在面试环节中我们该如何回答,通过该思维导图就可以让我们很清晰的对SQL的常规优化有了清晰地认识,

    慢SQL优化In PostgreSQL

    可以通过调整索引策略来优化查询性能。 #### 十六、影响查询计划的参数 PostgreSQL中有许多配置参数可以影响查询执行计划的选择,例如`enable_seqscan`、`enable_indexscan`等。合理设置这些参数有助于获得更好的...

    oracle的sql优化

    Oracle的SQL优化是数据库管理中的关键任务,它旨在提高查询速度、降低资源消耗,从而提升整个系统的性能。以下是一些重要的优化策略: 1. **全表扫描与索引扫描**: - 全表扫描应尽量避免,尤其对于大数据量的表,...

    SQL语句优化,编写搞笑的sql语句

    优化SQL的主要目标是减少查询时间和资源消耗。这通常涉及到合理利用索引,索引是一种特殊的数据库对象,用于加速数据检索。 索引定义了表中特定列的排序结构,每个值对应一行的直接访问路径,即ROWID。Oracle提供了...

    sqlserver查询分析器免安装版

    这款916KB的小型工具能够简化对SQL Server 2000、2005和2008数据库的访问,无需进行常规的安装过程,特别适合于临时使用或者在没有权限安装新软件的环境中。 在使用这款免安装的SQL Server查询分析器时,你需要了解...

    Oracle优化—SQL优化

    ### Oracle优化—SQL优化 #### 一、数据库、数据表、数据表I/O优化原则 在Oracle数据库中,为了确保数据库系统的高效运行,必须对数据库、数据表以及数据表I/O进行合理的规划与优化。 - **数据库规划原则** - **...

    SQL语句优化.docx

    以下是一些关于SQL优化的关键知识点: 1. **WHERE子句中的连接顺序**:在编写SQL查询时,应遵循Oracle数据库的解析顺序,将连接(JOIN)操作放在WHERE子句的最前面,然后是能够过滤大量记录的条件。这样做可以优化...

    pgsql查询优化之模糊查询实例详解

    前言 一直以来,对于搜索时模糊匹配...然后搜个简单的模糊匹配条件如 LIKE “血常规%”,可以发现查询计划生成如下,索引并没有被使用上,这是因为传统的btree索引并不支持模糊匹配 查阅文档后发现,pgsql可以在Btree

    浅谈SQL Server数据库查询性能的优化 (1).pdf

    【SQL Server数据库查询性能优化】 随着信息技术的飞速发展,数据库系统在各行各业的应用越来越广泛,数据量呈现爆炸式增长。在这种背景下,SQL Server数据库查询性能的优化显得至关重要。本文主要探讨了影响SQL ...

    sql的优化初级版

    ### SQL优化初级版知识点详解 #### 一、操作符优化 **1. IN操作符** - **优点**:使用`IN`操作符编写的SQL语句通常易于编写且清晰直观,符合现代软件开发的趋势。 - **缺点**:使用`IN`操作符可能导致SQL性能较低...

    Hibernate中的查询:HQL、Criteria、原生SQl

    尽管HQL和Criteria API提供了面向对象的查询方式,但有时仍需使用原生SQL,尤其是在处理数据库特定的功能或性能优化时。Hibernate允许在需要时直接执行SQL查询,如下所示: ```java String sql = "SELECT * FROM ...

    SQL查询语言技术2

    - 在SQL中,NULL被视为特殊的值,不能与常规数据进行比较。 - 处理NULL值时需要使用专门的语法,如`IS NULL`和`IS NOT NULL`。 ### 总结 SQL是一种强大的数据库查询语言,其基础知识对于理解和使用数据库至关重要。...

    SQL编写规范和优化讲稿.pptx

    - **实践与经验**: 经常查看执行计划有助于提高SQL优化的能力。 **2.2 表级优化** - **过滤与SPOOL**: 如果过滤性不很强,又不需要重分布,对大表尽可能不要只做一下过滤就进一次SPOOL,最好是直接与别的表 JOIN,...

    SQL语句优化

    ### SQL语句优化技术分析 #### 一、操作符优化 **1. IN操作符** - **优点**:使用`IN`操作符编写的SQL语句通常更易于编写且易于理解,符合现代软件开发风格。 - **缺点**:使用`IN`操作符的SQL语句性能较低。...

    优化SQL的另一种思维

    在SQL的世界里,优化查询性能是一项至关重要的任务,尤其对于大型数据库系统而言。"优化SQL的另一种思维"这个主题引导我们探索不同于常规的优化策略,它可能涉及到对SQL语句的重构、数据库设计的改进以及利用特定的...

    Foxpro的SQL查询在计算机管理系统中的应用.pdf

    2. **查询优化**:通过索引,SQL 可以快速访问和处理大量数据,尤其是在多表联接查询时,利用 Rushmore 算法提高查询效率。 3. **简洁性**:SQL 语言简化了程序设计,避免了使用常规编程语言进行数据库操作的繁琐。 ...

    sqldbx.zip

    1. 数据库维护:SQLDbx可以帮助数据库管理员进行常规的维护工作,如创建和修改表结构、索引优化、性能调优等。 2. 数据分析:通过SQLDbx,分析师可以快速获取所需数据,进行复杂的数据分析和挖掘,为业务决策提供...

Global site tag (gtag.js) - Google Analytics