`
DigitalSonic
  • 浏览: 214711 次
社区版块
存档分类
最新评论

关于数据库SQL优化的一些笔记

阅读更多

最近在参加培训,正好上到了一堂关于“开发DBA”的课,课上讲了很多以前不太了解的东西,比如“开发DBA”和“传统DBA”的区别之类的东西,不过对我而言,最有价值的貌似还是一些小的SQL优化技巧,在这里做个笔记。

在Oracle中SQL语句的处理过程分为三步:parse=>execute=>fetch,其中fetch这个阶段只有select有,语法分析和执行阶段所有语句都有。用trace工具可以看到整个语句的执行过程,我从没做个DBA,开发时也没有用过类似工具,顶多也就用PL/SQL跑跑语句(其实自打用了Hibernate后我都很少写SQL了,惭愧啊)。

 

  • select语句中少用*,因为这会带来额外的开销(IO、网络方面等等)
  • 避免索引列的隐式类型转换,因为类型转换后使用该列的查询是全表扫描 ,这个在大数据量时可是致命的
  • 避免在字段上使用函数,这样无法使用该字段上的索引
  • count()不会返回null,但sum()会,用nvl(sum(XXX), 0)来避免这个情况
  • 少用lob这样的大字段

站在前人的经验上,希望自己以后多长点记性,虽然我只是个开发人员,不是DBA,不过多学点总没坏处,呵呵~

分享到:
评论

相关推荐

    sqlserver优化笔记

    通过对SQL Server查询和索引的优化,不仅可以显著提升数据库的性能,还能有效降低系统的运行成本。实践证明,合理的SQL编写习惯与良好的索引管理策略是实现这一目标的关键。此外,定期审查并调整现有的SQL脚本与索引...

    oracle 数据库 SQL学习笔记

    Oracle数据库是全球广泛使用的...总的来说,Oracle数据库SQL学习笔记应该涵盖这些核心领域,并深入探讨每个主题,包括实例、最佳实践和问题解决策略。通过持续学习和实践,你可以成为一名熟练的Oracle数据库专业人员。

    超详细数据库系统与概论笔记2019上——个人笔记.zip

    第六章可能是关于数据库语言SQL,包括DDL(Data Definition Language)用于定义数据库结构,DML(Data Manipulation Language)用于数据操作,以及DCL(Data Control Language)用于数据控制和权限管理。 第七章到...

    数据库笔记与常用笔记

    综合这三个文件,我们可以获得一个从理论到实践的完整学习路径:从“数据库笔记.txt”中理解数据库的基础概念和设计原则,然后通过“实验6-1.SQL语句.doc”学习SQL语法并理解其在实际问题中的应用,最后通过“实验....

    Microsoft SQL 数据库学习笔记

    【Microsoft SQL 数据库学习笔记】 在数据库领域,Microsoft SQL Server 是一种广泛使用的、关系型数据库管理系统,由微软公司开发和维护。SQL(Structured Query Language)是用于管理关系数据库的标准编程语言,...

    sql server数据库笔记.zip

    这份"sql server数据库笔记.zip"包含了两个子文件,分别是"sql server数据库笔记01.enex"和"sql server数据库笔记02.enex",很可能记录了关于SQL Server的重要概念、操作技巧和实践经验。 首先,SQL(Structured ...

    SQL 数据库语言学习笔记

    本篇“SQL数据库语言学习笔记”将深入探讨SQL的基本概念、语法和常用操作,帮助你掌握这个强大的工具。 一、SQL简介 SQL起源于1970年代,由IBM的研究员开发,其设计目标是为了解决日益复杂的数据查询和管理问题。...

    Oracle SQLServer数据库 学习笔记

    Oracle和SQL Server是两大主流的关系型数据库管理系统,广泛应用于企业级的数据存储和处理。这篇学习笔记将深入探讨这两个系统的概念、特性和应用。 一、Oracle数据库系统 Oracle数据库是由甲骨文公司开发的一款...

    2009数据库系统工程师学习笔记

    以下是对这些笔记可能包含的一些关键知识点的详细说明: 1. **数据库基础理论**: - 数据模型:包括关系模型(如SQL)、网络模型、层次模型、对象模型等,其中关系模型是最常见的。 - 数据库设计:涉及需求分析、...

    数据库性能优化 心得体会 笔记

    - 学习并应用一些优化技巧,如: - 使用`SUBSTR`函数代替`LIKE`操作符来进行前缀匹配。 - 对于日期比较,使用`TRUNC`函数可以简化查询。 - 避免在WHERE子句中使用复杂的计算或函数调用。 - **建议**:熟练掌握...

    \VS2012和SQL客户端在不同网络远程访问数据库SQLserver2005

    【VS2012和SQL客户端在不同网络远程访问数据库SQLserver2005】的知识点涉及以下几个方面: 1. **远程访问SQL Server 2005**:远程访问SQL Server 2005允许用户从不同的网络或设备上操作数据库,这需要正确配置...

    神通数据库帮助手册(SQL语言手册,数据库备份恢复,读写分离集群,数据库审计,数据库进程守护,数据库接口.zip

    神通数据库帮助手册是一份全面介绍神通数据库操作和管理的资源集合,涵盖了多个关键领域,包括SQL语言、数据库备份与恢复、读写分离集群、数据库审计、数据库进程守护以及数据库接口。下面将对这些主题进行详细阐述...

    sql数据库学习全过程笔记

    在SQL数据库的学习过程中,我们首先会接触到SQL的基础概念。SQL,全称为Structured Query Language,即结构化查询语言,是用于管理和处理关系型数据库的标准语言。基础部分通常包括数据类型、数据操作(如INSERT、...

    Mysql数据库优化学习笔记

    本笔记主要围绕MySQL的优化策略进行深入探讨,包括SQL查询优化、索引优化、存储引擎选择、数据库架构设计等多个方面。 一、SQL查询优化 SQL查询是数据库操作的核心,优化SQL可以显著提升数据库性能。主要方法有: 1...

    数据库及优化工作笔记

    ### 数据库及优化工作笔记 #### 核心知识点解析 **一、表值函数对数据库查询性能的影响** 在SQL查询中使用表值函数时,必须理解其对性能的影响。表值函数是一种用户定义的函数,它返回一个表作为结果集。这种函数...

    Oracle数据库安装笔记+学习笔记

    "笔记4.txt"和"笔记5.txt"可能涉及SQL语言和数据库性能优化。SQL是与Oracle交互的基础,包括DML(数据操纵语言)如INSERT、UPDATE、DELETE,以及DDL(数据定义语言)如CREATE、ALTER、DROP等。学习编写高效的SQL查询...

    SQL2005学习笔记

    《SQL2005学习笔记》是一份深入探讨SQL Server 2005核心概念、功能及优化策略的宝贵资料。SQL Server 2005是微软推出的一款强大的关系型数据库管理系统,它在数据存储、处理和分析方面具有广泛的应用。这份笔记旨在...

    《数据库原理与应用》部分笔记

    4. **数据库设计**:笔记可能会涉及数据库设计的几个阶段,如需求分析、概念设计(用ER图表示)、逻辑设计(转换为关系模式)和物理设计(考虑存储和性能优化)。 5. **关系代数和元组关系演算**:这是理解数据库...

    数据库的课程学习笔记

    总的来说,大学数据库课程的学习笔记涵盖了数据库的基本概念、设计、操作和优化等方面,为未来在信息领域的工作打下坚实基础。通过深入学习和实践,我们可以更好地理解和运用数据库这一强大工具。

    最全面的sql数据库基础知识笔记

    本笔记将深入探讨SQL数据库的基础知识,帮助初学者全面理解这一重要工具。 一、SQL概述 SQL起源于1970年代,由IBM的研究员开发,其目的是为了简化数据查询和管理。SQL是一种声明性语言,用户只需描述想要的结果,而...

Global site tag (gtag.js) - Google Analytics