`
92java
  • 浏览: 7543 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

sql查询原理

阅读更多
一 sql语句的执行步骤
1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。
2) 语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。
3)视图转换,将涉及视图的查询语句转换为相应的对基表查询语句。
4)表达式转换, 将复杂的 SQL 表达式转换为较简单的等效连接表达式。
5)选择优化器,不同的优化器一般产生不同的“执行计划”
6)选择连接方式, ORACLE 有三种连接方式,对多表连接 ORACLE 可选择适当的连接方式。
7)选择连接顺序, 对多表连接 ORACLE 选择哪一对表先连接,选择这两表中哪个表做为源数据表。
8)选择数据的搜索路径,根据以上条件选择合适的数据搜索路径,如是选用全表搜索还是利用索引或是其他的方式。
9)运行“执行计划”

二 oracle 共享原理
ORACLE将执行过的SQL语句存放在内存的共享池(shared buffer pool)中,可以被所有的数据库用户共享
当你执行一个SQL语句(有时被称为一个游标)时,如果它和之前的执行过的语句完全相同, ORACLE就能很快获得已经被解析的语句以及最好的 执行路径. 这个功能大大地提高了SQL的执行性能并节省了内存的使用
三 oracle 语句提高查询效率的方法
.1:.. where column in(select * from ... where ...);
2:... where exists (select 'X' from ...where ...);
第二种格式要远比第一种格式的效率高。在Oracle中可以几乎将所有的IN操作符子查询改写为使用EXISTS的子查询
使用EXIST,Oracle系统会首先检查主查询,然后运行子查询直到它找到第一个匹配项,这就节省了时间
Oracle系统在执行IN子查询时,首先执行子查询,并将获得的结果列表存放在在一个加了索引的临时表中

避免使用having字句
避免使用HAVING子句, HAVING 只会在检索出所有记录之后才对结果集进行过滤. 这个处理需要排序,总计等操作. 如果能通过WHERE子句限制记录的数目,那就能减少这方面的开销
分享到:
评论

相关推荐

    SQL查询原理及执行顺序

    ### SQL查询原理及执行顺序详解 SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言,其查询原理和执行顺序对于数据库性能优化至关重要。本文将深入探讨SQL查询的执行过程,帮助读者理解如何...

    mysql之SQL查询原理

    一句简单的sql语句背后,mysql进行了很多临时表操作。本文档描述了sql中各关键字(FROM, JOIN, WHERE ,ORDER BY等)的执行顺序,便于深入理解sql执行原理。

    SQL分页查询原理讲解

    本篇将深入讲解SQL分页查询的原理,并结合示例进行详细说明。 首先,让我们了解基本的SQL分页查询方法。在SQL Server中,我们可以利用`TOP`关键字来限制返回的行数,从而实现分页。假设我们有一个名为`Student`的表...

    sql2000查询分析器

    SQL Server 2000 Query Analyzer是微软在SQL Server 2000时代推出的一款强大的数据库查询和管理工具...随着技术的发展,虽然已被更新的工具所取代,但对于学习和理解SQL查询原理,Query Analyzer仍然是一个宝贵的资源。

    sql注入原理简介

    SQL注入(SQL Injection)是一种常见的网络攻击技术,它利用了Web应用中SQL数据库操作的漏洞,通过构造特殊的输入,诱使数据库执行预期之外的查询或者命令。这种攻击手法通常被用于绕过认证机制,获取数据库中敏感...

    HiveSQL编译原理

    总结来说,HiveSQL编译原理是Hive处理SQL查询的核心机制,它包括词法分析、语法分析、逻辑规划、优化、物理规划和执行等多个阶段。理解这一原理对于提升Hive查询性能、优化大数据处理流程具有重要意义。在实际工作中...

    sql,编译原理课件

    在SQL的上下文中,编译原理尤为重要,因为数据库管理系统(如SQL Server 2000)在执行查询时,需要经历类似的编译过程。当用户提交一个SQL查询时,数据库系统首先进行词法和语法分析,然后对查询进行优化,比如决定...

    sql server 2005 技术内幕t-sql查询源码

    《SQL Server 2005 技术内幕:T-SQL查询源码》是一本深入探讨SQL Server 2005中T-SQL查询技术的专业书籍。T-SQL(Transact-SQL)是Microsoft SQL Server数据库管理系统中使用的SQL扩展版本,它在标准SQL的基础上增加...

    数据库系统原理实验报告-SQL查询语句.doc

    "数据库系统原理实验报告-SQL查询语句" 数据库系统原理实验报告-SQL查询语句是关系数据库管理系统的核心组件之一。实验报告的主要目的是让学生熟悉关系数据库标准语言 SQL,並且掌握基本的 SQL 查询语句。 一、...

    Microsoft SQL Server 2008技术内幕:T-SQL查询.pdf

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》是一本深入探讨SQL Server 2008中T-SQL(Transact-SQL)查询的权威指南。T-SQL是微软SQL Server数据库管理系统的核心语言,用于数据操作、查询、存储过程编写以及...

    sql注入原理

    - **原理**:攻击者利用已知的或推测的SQL语法结构,插入额外的SQL代码,破坏原有的SQL查询逻辑,以达到自己的目的,如读取敏感数据、篡改数据、或执行系统级操作。 #### SQL注入实例分析 以文章中提到的例子为例...

    数据库原理SQL查询练习题

    数据库原理SQL查询练习题 本节内容将围绕数据库原理和SQL查询进行详细的知识点总结和分析。 1. 查询学习课程号为 C2 的学生学号与成绩 在这个查询中,我们使用了SELECT语句来选择学生学号和成绩,并使用WHERE语句...

    应用程序的SQL查询原理

    作为B/S架构的开发人员,总是离不开数据库,一般开发员只会应用...我们经常是写好查询SQL,然后调用程序执行SQL。但是它内部的工作流程是怎样的呢?先做哪一步,然后做哪一步等,我想还有大部分朋友和我一样都不一定清楚。

    可视化sql查询语句生成器

    可视化SQL查询语句生成器是一种高效且用户友好的工具,专为那些不熟悉或不习惯编写SQL代码的用户设计。这种工具通常具有图形用户界面(GUI),允许用户通过直观的界面来构建复杂的查询,而无需直接输入SQL命令。在...

    计算机病毒与防护:SQL注入原理.ppt

    **计算机病毒与防护:SQL注入原理** SQL注入是一种常见的网络安全威胁,主要针对使用SQL(结构化查询语言)的Web应用程序。这种攻击手段是由于应用程序在处理用户输入时没有进行充分的验证和过滤,使得攻击者可以...

    SQL数据库SQL查询题目

    标题中的"SQL数据库SQL查询题目"表明这是一组与SQL语言和...通过这样的练习,你可以深入理解SQL查询的工作原理,这对于数据库管理员、数据分析师、软件开发者以及其他需要与数据库打交道的角色来说是非常重要的技能。

    Microsoft SQL Server 2005技术内幕全套(三):T-SQL查询.part1

    因此,书中必定会讲解如何通过索引、查询优化器的工作原理以及查询执行计划来提升查询效率。最后,可能还会涵盖错误处理和异常处理机制,以确保程序的健壮性。 通过阅读《Microsoft SQL Server 2005技术内幕:T-SQL...

    MYSQL查询、优化原理

    #### 一、SQL 查询原理 MySQL 的 SQL 查询处理流程非常关键,涉及到了查询的解析、优化以及执行等多个阶段。当 MySQL 收到 SQL 语句时,它首先会通过解析器对 SQL 语句进行解析,生成内部表示形式,接着优化器会...

    SQL 查询分离分析器

    安装并使用这个工具,用户可以深入洞察SQL查询的工作原理,从而更好地管理和优化他们的数据库系统。在使用过程中,用户应熟悉软件的各项功能,并结合具体的数据库环境和业务需求,充分利用其分析能力,实现更高效的...

Global site tag (gtag.js) - Google Analytics