`
wx1569488408
  • 浏览: 79183 次
文章分类
社区版块
存档分类
最新评论

Oracle提高sql执行效率的心得建议

 
阅读更多

-->FROM子句中包含多个表的情况下,选择记录条数最少的表作为基础表 

-->解析WHERE子句是自下而上的 过滤条件要有顺序 

-->ORACLE会将'*'转换成列名 

-->DELETE会在rollback segment中存放可恢复信息,可以试试TRUNCATE 

-->COMMIT会释放:1.rollback segment 
2.被程序语句获得的锁 
3.redo log buffer 

-->把Alias前缀于每个Column上可以减少解析的时间 

-->ORACLE解析sql语句时会把小写的字母转换成大写的再执行 

-->在索引列上使用NOT会停止使用索引转而执行全表扫描 

-->在索引列上进行运算会停止使用索引转而执行全表扫描 

-->使用'>=',而不是'>' 

-->where子句中'!='、'||'、'+'等符号会破坏索引 

-->IN的效率很低,IN子句将执行一个内部的排序和合并 

-->EXIST查询更为迅速 

-->对于两个索引列,UNION比OR效率更高 

-->IS NULL会破坏索引 

-->DISTINCT,UNION,MINUS,INTERSECT,ORDER BY等都带有SORT功能,会耗费资源 

-->多个索引列时尽量使用第一个索引列 

-->尽量用 UNION ALL代替UNION 

-->不要用TO_NUMBER()之类的函数改变索引列的类型。 

-->对于字符类型的索引列尽量写成:col = '123' 而不是 col = 123,后者会被解析为TO_NUMBER(EMP_TYPE)=123 

-->适当的地方使用适当的关键字:HAVING会在检索出所有记录之后对结果集进行过滤 能使用WHERE解决时不要用HAVING 

-->索引也需要维护,INSERT,DELETE,UPDATE会因索引而做出更多次I/O 

-->重构索引是必要的:ALTER INDEX <INDEXNAME> REBUILD <TABLESPACENAME> [ONLINE] 

转载于:https://my.oschina.net/u/2449014/blog/515588

分享到:
评论

相关推荐

    X-01-Oracle-Oracle SQL高级编程(学习心得)

    这部分内容涵盖了Oracle架构的基础,如SGA(System Global Area)及其组件,如共享池和缓冲区缓存,这些是影响SQL执行效率的关键因素。读者将了解到如何分析和理解SQL执行计划,这对于诊断和优化性能问题至关重要。...

    oracle心得oracle心得

    - **SQL 性能分析**:使用EXPLAIN PLAN等工具进行SQL执行计划分析,找出性能瓶颈并进行优化。 - **资源管理**:通过资源管理器(Resource Manager)合理分配数据库资源,确保在多用户环境下系统的稳定运行。 #### ...

    Oracle高级SQL编程

    2. **参与社区交流**:加入Oracle相关的技术论坛或社交媒体群组,与其他开发者交流心得、分享经验,有助于快速提高自己的技术水平。 3. **持续跟进新版本特性**:Oracle数据库每年都会发布新版本,其中包含了诸多...

    Oracle入门心得文档

    分区是将大表分成更小、更易管理的部分,可以提高查询性能和维护效率,常见的分区方式有范围分区、列表分区、哈希分区和复合分区。 在学习Oracle的过程中,实践操作是至关重要的。例如,你可以通过SQL*Plus或PL/SQL...

    oracle 学习心得与总结

    - **脚本(SCRIPT)**:通过SQL语句创建表和约束,通常在SQL*Plus或其他数据库管理工具中执行。 - **同时创建**:可以在创建表时直接定义约束,例如`CREATE TABLE table_name (column_name data_type PRIMARY KEY)...

    《Pro Oracle SQL》 翻译序 -- 读书心得

    “源码”标签可能暗示了书中可能会涉及Oracle数据库的一些底层工作原理,如SQL执行计划的解析、索引的工作机制等。理解这些可以帮助开发人员优化查询性能,尤其是在处理大量数据时。 “工具”标签可能是指书中介绍...

    sql学习的 学习心得

    - **查询执行效率提升**:SQL Server 查询优化器的改进能够显著提升查询执行效率,特别是在复杂的查询场景下,可以观察到 30% 左右的性能提升。这对于业务系统来说至关重要,能够有效减少响应时间,提高用户体验。 ...

    oracle的入门心得

    - **SQL优化**:通过分析SQL执行计划,调整索引、查询语句或表结构来提高性能。 - **数据库调优**:监控数据库性能指标,调整初始化参数,使用数据库诊断工具(如ADDM)进行自动调优。 10. **数据库高可用性**: ...

    oracle11g学习心得

    12. **分区技术**:Oracle 11g的分区功能可将大型表划分为较小的、更易管理的部分,提高查询效率和维护性能。 以上是我在Oracle 11g学习过程中积累的主要知识点,每个点都值得深入研究和实践。随着对Oracle的不断...

    sql优化心得

    增加共享池大小有助于缓存更多的SQL执行计划,从而减少SQL解析的时间。 ##### 2. **避免使用特定的SQL语法** - **NOT IN**:使用NOT IN可能产生大量的临时表,降低性能。推荐使用LEFT JOIN加上IS NULL检查来替代。...

    Oracle数据库业务优化心得

    通过分析SQL执行计划,我们可以发现是否存在表连接顺序错误、索引选择性低等问题。此外,监控和分析系统警告日志、STATSPACK报告以及SAR命令输出,有助于了解数据库运行状态和主要等待事件,以便定位问题。 ...

    Oracle性能优化学习心得

    3. SQL调优:通过应用SQL优化规则,如避免全表扫描、使用索引、减少排序等,提升SQL执行效率。 三、实施细节 1. 外部调整:优化服务器配置,确保Oracle运行在一个高效的环境中。 2. 减少磁盘I/O:通过行重排序、...

    oracle学习、实践心得

    - **SQL优化**:通过使用EXPLAIN PLAN和SQL TRACE等工具分析查询执行计划,找出性能瓶颈并进行优化。 - **数据库结构调整**:包括表分区、索引重构等,以提高查询效率。 - **项目结构调整**:优化业务逻辑,减少...

    oracle图形界面使用心得

    Oracle 图形界面使用心得可以帮助管理员和用户更好地使用 Oracle 数据库,提高工作效率和数据库管理能力。 Oracle 图形界面使用心得还可以帮助学生和初学者更好地学习和掌握数据库技术,提高他们的数据库管理能力...

    oracle性能优化学习心得

    Oracle性能优化是一个复杂而精细的...总的来说,Oracle性能优化是一个涉及多方面、多层次的过程,需要综合考虑系统环境、数据库设计、SQL执行和硬件资源的协调。通过不断监控、分析和调整,才能实现数据库的最佳性能。

    SQL从基础到深入——本人心得

    2. 数据类型:SQL中的数据类型包括整型(INT)、浮点型(FLOAT)、字符型(CHAR/VARCHAR)、日期时间型(DATE/TIME/DATETIME)等,选择合适的类型有助于提高数据存储效率和准确性。 3. DDL(Data Definition ...

Global site tag (gtag.js) - Google Analytics