`
ywz1984
  • 浏览: 3001 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
文章分类
社区版块
存档分类
最新评论

数据库查询思考

SQL 
阅读更多

 

本帖是我自己总结所到,也是第一次发贴。即为总结,里面肯定有理解上错误的地方,希望大家指点。语言上只要不是侮辱人的就OK,谢谢大家!当然也希望大家不要太相信我所写,自己验证下好,怕误导,本人不求有功,但求无过;

数据库查询,主要是数据抽取的过程,如何抽取?根据条件,取出数据集;条件可理解为两种:

 

 

1、在数据集中进行数据过滤。语句如 A.id =condition,这种语句即为在A表(表可以理解为一个数据集)过滤出满足条件的数据子集;

 

2、对两个数据进行交/并运算。语句如A.name = B.name,这种语句即为求数据的交集。

 

sql查询语句中的表,可以理解我基础的数据集合,我们要的是从基础数据集合中通过过滤、集合运算来得到我们所需的数据集合。查询条件通常都会有多个,每个数据库均有自己的分析sql的规则,如语句

      where A.name ='test'

        AND  B.job = 'coder'

        AND  B.grade = 'A'

        AND  A.id = B.id

有的数据库也许是自上向下的解析语句,有的是自下向上解析。那解析的顺序不同有什么关系呢,它可能直接影响我们的查询效率;

以自下向上为例:假设 A表10W条数据,A.name ='test':1W;B表10W,B.job = 'coder' 5W,B.grade = 'A' 1W;

 

A.name ='test',过滤得到A表的1W条数据集,我们为他命题为“A1”

执行B.job = 'coder',那么就查询出5W条数据集(B1),再执行B.grade = 'A',那么就是在B1的数据集中过滤满足条件的子集,B表满足条件的有1W条数据,但B1现只有5W条数据,我们按照概率计算,那么B1中满足条件的可以抽取出5K条数据(B2);

注:实际多少条数据其实要看真实情况,我按概率计算,只为方便说明情况;当然有时我们遇到一些情况按概率进行猜测总比瞎猜好。



A1B2进行交集查询,即为1W5K按条件id相等进行求交集。



如果自下向上分析,第一步要进行的即为10W10W求交集(C1),然后再C1上进行数据过滤。



大家可以看到,两者的执行顺序,可以直接影响到效率。



其实整个查询过程我们可以理解为数据过滤、集合运算的过程,那么我们就可以将它理解为一种运算。就如我们计算2+5+7×4 = 5 + 7×4 + 2 两者是等价的。再结合上数据库特有的解析顺序,那么就可以得到效率更高的语句。

0
1
分享到:
评论
2 楼 ywz1984 2010-09-13  
ziwengong 写道
sql查询优化的问题。希望你能再总结总结,有机会交流一下。

谢谢关注,优化方面的问题我还会写东西。
1 楼 ziwengong 2010-09-13  
sql查询优化的问题。希望你能再总结总结,有机会交流一下。

相关推荐

    数据库思考题

    以上是关于“数据库思考题”的一些基础知识点,涵盖了数据库的基础概念、设计原则、操作和管理等方面,对理解数据库的工作原理和应用具有重要意义。在学习过程中,通过深入理解和实践这些知识点,可以更好地掌握...

    数据库实验5嵌套查询.doc

    数据库实验5嵌套查询实验报告,主要涵盖了数据库查询语言的基础知识和嵌套查询的操作。通过本实验,学生可以掌握数据库查询语言的基本方法和主要函数的使用方法,了解各种连接查询的概念、功能及语法格式,以及嵌套...

    数据库选择查询

    "数据库选择查询" 数据库选择查询是数据库管理系统中最基本也是最重要的操作之一。通过本实验,我们将学习如何使用 T-SQL 语句进行简单查询和连接查询,掌握 SELECT 语句的基本结构和多表连接查询、子查询、统计...

    MySQL数据库查询优化方案.docx

    在 MySQL 数据库查询优化中,需要思考一些数据库性能问题。例如,需要思考数据库的负载、数据库的缓存、数据库的连接数等问题。 MySQL 数据库查询优化需要考虑多方面的因素,包括索引、EXPLAIN 语句、字段类型和...

    数据库基础习题与思考题.pdf

    13. 数据库查询优化:虽然文档中没有直接提及,但是熟练掌握SQL查询语句及其优化对于数据库性能管理至关重要,这涉及到查询语句的编写技巧以及数据库索引的合理运用。 由于文档中出现的OCR扫描文字可能有误差,因此...

    OLTP与OLAP系统数据库建模思考与实践

    ### OLTP与OLAP系统数据库建模思考与实践 #### 一、引言 随着信息技术的发展,企业对数据处理的需求日益增长。为了更好地满足不同场景下的数据处理需求,出现了两种主流的数据处理方式:联机事务处理(Online ...

    基于SQL Server数据库查询优化的几点思考.pdf

    在数据库性能优化领域,查询优化是一个核心话题。SQL Server作为一款广泛使用的数据库管理系统,其查询性能的优化尤其重要。本文分析了影响SQL Server数据库性能的多个关键因素,并提出了一些有效的优化方案。 首先...

    数据库思考题整理(by学长)1

    数据库思考题整理(by学长)1是关于数据库系统的知识点总结,涵盖了数据库的三级模式结构、数据独立性、概念模型、关系数据库模式、SQL、视图、数据库安全性、数据库完整性、数据库规范化设计等多个方面。...

    数据库复习思考原题以及考题

    17. **数据访问的基础操作**:对数据的访问通常是基于查询和更新两个基本操作。 18. **数据库管理系统提供的功能**:通常包括数据定义、数据操纵、数据控制和数据库维护四大功能。 ### 数据模型 19. **实体的概念...

    实验六数据库的查询数据库的查询实验报告.doc

    实验的思考与练习部分旨在鼓励学生独立思考,解决实际问题,从而加深对数据库查询语言的理解和应用能力。 总之,这个实验旨在让学生熟悉SQL中的聚合函数、分组和排序操作,以及子查询的应用,这些都是数据库管理和...

    Access数据库说课.ppt

    通过这样的教学设计,学生不仅能够掌握Access数据库的基础操作,还能培养他们的逻辑思考和问题解决能力,为未来更复杂的数据管理工作打下坚实基础。同时,这种以问题为导向的教学方式,有助于激发学生的主动学习热情...

    海大数据库原理综合实验六

    (4) 思考题:数据库设计通常由哪些辅助工具?各有哪些优缺点? 4 实验步骤 4.1 数据库概念模型设计 (1) 进行需求分析。 (2) 设计数据库概念模型,画出E-R图。 4.2 数据库逻辑模型设计 (3) 根据数据库...

    数据库的查询和视图.docx

    数据库查询和视图知识点总结 本文档总结了数据库查询和视图的相关知识点,涵盖 SELECT 语句的基本语法、子查询、连接查询、GROUP BY 子句、ORDER BY 子句等内容。以下是详细的知识点总结: 一、SELECT 语句的基本...

    2023年电大数据库思考与练习题新版.doc

    总的来说,电大数据库思考与练习题涵盖了数据库设计的全过程,从需求分析到设计的各个阶段,强调了规范化设计、性能优化、安全性和用户需求的重要性。通过深入理解和应用这些知识点,学生可以构建出高效、稳定、符合...

    支付系统数据库设计思考.pdf

    同时,不依赖回调状态,而是通过查询最新状态来确保信息的准确性。 对于联合支付,例如余额+支付宝组合,通过设置union_id关联多个从支付单,并在回调时检查支付宝的支付金额是否与主支付单的余额一致,从而确定...

    zzu数据库实验报告书

    实验三则让学生掌握交互式SQL语句,这是数据库查询和操作的主要手段。实验四通过创建视图来理解数据抽象化和数据查询的优化。实验五则聚焦于完整性控制,确保数据的一致性和准确性。 实验六和七关注数据库的安全性...

    大型数据库ORACLE数据库的优化设计思考.pdf

    Oracle数据库是全球广泛应用的关系型数据库管理系统,尤其在大型企业中占据主导地位。由于其强大的功能和高度的灵活性,Oracle数据库成为处理大量数据和确保数据安全的理想选择。然而,随着数据库的运行,可能会出现...

    数据库原理教案.doc

    课后的思考题和习题旨在巩固课堂所学,如对比文件系统和数据库系统的适用场景,分析数据库系统的特点,以及阐述数据模型、概念模型的作用等。 在实际应用中,数据库技术广泛应用于管理信息系统、办公自动化、计算机...

    0072数据库技术复习思考题.doc

    【数据库技术复习思考题】 1. 关系模型是一种( C )。关系模型是数据库系统中最常用的数据模型之一,它基于数学中的关系理论,用于描述数据的结构和操作。关系模型由若干个关系组成,每个关系代表一类实体及其相互...

Global site tag (gtag.js) - Google Analytics