`

SQL优化策略

阅读更多

1、 尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替。
2、 不用NOT IN操作符,可以用NOT EXISTS或者外连接+(外连接+判断为空)替代。
3、 不用“<>”或者“!=”操作符。对不等于操作符的处理会造成全表扫描,可以用“<” or “>”代替。例如:a<>0 改为 a>0 or a<0,a<>’ ’ 改为 a>’ ’
4、 Where子句中出现IS NULL或者IS NOT NULL时,Oracle会停止使用索引而执行全表扫描。可以考虑在设计表时,对索引列设置为NOTNULL。这样就可以用其他操作来取代判断NULL的操作。
5、 当通配符“%”或者“_”作为查询字符串的第一个字符时,索引不会被使用,因此一般不要作为第一个字符出现。
6、 对于有连接的列“||”,最后一个连接列索引会无效。尽量避免连接,可以分开连接或者使用不作用在列上的函数替代。
7、 如果索引不是基于函数的,那么当在Where子句中对索引列使用函数时,索引不再起作用。
8、 Where子句中避免在索引列上使用计算,否则将导致索引失效而进行全表扫描。
9、 对数据类型不同的列进行比较时,会使索引失效。
10、   用“>=”替代“>”。
11、   UNION操作符会对结果进行筛选,消除重复,数据量大的情况下可能会引起磁盘排序。如果不需要删除重复记录,应该使用UNION ALL。
12、   Oracle从下到上处理Where子句中多个查询条件,所以表连接语句应写在其他Where条件前,可以过滤掉最大数量记录的条件必须写在Where子句的末尾。
13、   Oracle从右到左处理From子句中的表名,所以在From子句中包含多个表的情况下,将记录最少的表放在最后。
14、   Order By语句中的非索引列会降低性能,可以通过添加索引的方式处理。严格控制在Order By语句中使用表达式。
15、   不同区域出现的相同的Sql语句,要保证查询字符完全相同,以利用SGA共享池,防止相同的Sql语句被多次分析。
16、   多利用内部函数提高Sql效率。
17、   当在Sql语句中连接多个表时,使用表的别名,并将之作为每列的前缀。这样可以减少解析时间。
18、   根据SQL不同设定优化模式的方式,选择不同的优化策略,通过SELECT/*+ALL+_ROWS*/ ……;来设定。可用的HINT包括/*+ALL_ROWS*/、/*+FIRST_ROWS*/、/*+CHOOSE*/、/*+RULE*/ 等一般在SQL前加first_rows策略,速度都会提高,特殊情况下改用choose策略。(本策略架构包已经支持)
19、   对于大表查询中的列应尽量避免进行诸如To_char,to_date,to_number等转换
20、   有索引的尽量用索引,有用到索引的条件写在前面
21、   如有可能和有必要就建立一些索引
22、   尽量避免进行全表扫描,限制条件尽可能多,以便更快搜索到要查询的数据
分享到:
评论

相关推荐

    sql优化 策略

    SQL 优化策略 SQL 优化是数据库性能优化的关键一步骤。通过优化 SQL 语句,数据库管理员可以提高数据库的查询速度,降低数据库的负载,提高数据库的整体性能。本文将总结一些常见的 SQL 优化策略,帮助数据库管理员...

    基于Oracle数据库的几种常见SQL优化策略研究.pdf

    本文将详细介绍几种常见且有效的Oracle数据库SQL优化策略。 首先,明确SQL语句优化的必要性是开展优化工作的前提。SQL语句在数据分析和应用中使用极其频繁,对于大多数应用软件而言,几乎所有的数据库操作都涉及SQL...

    基于Oracle数据库的几种常见SQL优化策略.pdf

    基于Oracle数据库的几种常见SQL优化策略.pdf 本文档主要讨论了基于Oracle数据库的几种常见SQL优化策略,以提高数据库的处理性能和查询效率。在当前大数据和物联网发展的背景下,数据库的性能优化变得越来越重要。...

    DB2之SQL优化浅析.pdf

    ### DB2之SQL优化浅析 #### 一、为什么要做SQL优化 在DB2数据库管理中,SQL优化是一项至关重要的工作。SQL语句是应用程序与...通过上述介绍的方法和原则,可以帮助DBA和开发人员更好地理解并实践DB2的SQL优化策略。

    oracle-sql优化

    5. **SQL优化策略**:包括调整业务逻辑、数据设计、流程设计、SQL语句本身、物理结构、内存分配、I/O、内存竞争以及操作系统参数。应用程序级调优主要关注SQL语句和管理变化。 6. **SQL优化过程**:定位问题SQL,...

    数据库优化(性能优化,sql优化)

    【SQL优化策略】可能包括创建和维护合适的索引,避免全表扫描,使用连接技术的优化,以及调整查询结构以适应优化器的选择。此外,对于不可再用的SQL语句和来自管理与程序员的阻力,也需要采取相应对策,以确保持续的...

    基于案例学习SQL优化

    不同的数据库查询和业务场景可能需要不同的优化策略。例如,对于大量读取操作,可能需要优化缓存策略;而对于写密集型应用,可能需要关注事务处理和并发控制。理解不同技术的应用场景是优化的关键。 4. **需求最小...

    SQL.rar_java sql_java sql查询_query optimization_sql_sql优化

    以下是一些常见的SQL优化策略: 1. **查询语句优化**:避免使用全表扫描,尽可能利用索引。这通常意味着在WHERE子句中使用索引字段,而不是在SELECT或ORDER BY子句中。此外,减少JOIN操作的数量和复杂性也能提升...

    sql语句优化技术分析

    在处理大量数据时,有效的SQL优化策略能显著提升数据库应用的效率。以下是对SQL语句优化技术的详细分析: 一、理解执行计划 在进行SQL优化前,首先需要了解SQL的执行计划。执行计划显示了数据库如何执行SQL语句,...

    SQL优化,数据库优化技能。

    以下是一些关键的SQL优化策略: 1. **合理使用索引**:索引是数据库中用于加速查询的数据结构。为经常用于搜索的列创建索引可以显著提高查询速度。但需要注意,过度使用索引可能导致写操作变慢,因此需平衡读写性能...

    很好的sql优化性能方法

    下面我们将深入探讨一些核心的SQL优化策略。 1. **查询优化**: - **使用索引**:索引是数据库快速定位数据的关键,合理创建主键、唯一索引和普通索引可以显著提升查询速度。但也要注意,过多的索引会增加写操作的...

    ORACLE索引详解及SQL优化

    本文将深入探讨Oracle索引的原理、创建方法,并结合SQL优化策略,帮助你提升数据库查询速度,降低资源消耗。 首先,我们要理解索引的基本概念。在数据库中,索引类似于书籍的目录,它为数据提供快速访问的途径。...

    cc的sql优化实战

    在SQL优化实战中,"cc的sql优化实战"这一主题主要关注如何提升SQL查询的效率,这在数据库管理...在实践过程中,我们需要根据实际情况灵活运用这些技巧,结合具体业务需求和数据库负载情况,制定出最合适的SQL优化策略。

    关于SQL语句的优化

    本文主要讨论四个方面的SQL优化策略:操作符优化、SQL书写的影响、SQL语句索引的利用以及其他的优化技巧。 一、操作符优化 1. IN操作符:IN用于指定一个值列表,使得查询结果包含这些值中的任意一个。虽然IN易于...

    收获,不止SQL优化--抓住SQL的本质1

    - **宏观策略的意义**:通过这些策略,可以构建起一个从宏观到微观的优化思路,帮助读者更好地理解SQL优化的“道”。 #### 4. 解决SQL问题的具体技术 - **体系结构**:了解数据库的整体架构对于优化至关重要。 - **...

    SQL语句优化资料

    首先,"SQL语句优化笔记.doc"可能涵盖了基本的SQL优化策略。这可能包括避免全表扫描,通过使用索引来提高查询速度,以及选择正确的JOIN类型。索引是提升查询效率的重要手段,它创建了一个指向数据的快速查找路径。而...

    sql用来优化你的sql语句

    本文将深入探讨几个关键的SQL优化策略,以提升SQL语句的执行速度和资源利用率。 首先,了解Oracle的优化器类型至关重要。Oracle提供了三种优化器:RULE、COST和CHOOSE。RULE基于预定义的规则进行查询优化,而COST则...

    超详细的 SQL 优化大全 !

    为了更好地理解SQL优化策略,我们首先需要了解MySQL的基本架构。 ##### 2.1 MySQL 基础架构 MySQL服务器主要由客户端和服务端组成: - **客户端**:包括各种客户端工具,如命令行工具(CMD)、图形界面工具...

    基于案例学SQL优化

    在IT行业中,SQL(Structured Query Language)是用于管理和处理关系数据库的强大工具。SQL优化是数据库管理中的关键环节...在数据库的世界里,没有一劳永逸的优化策略,只有不断学习和适应,才能确保系统的高效运行。

Global site tag (gtag.js) - Google Analytics