数据库连接查询和优化策略

来源 :新生代·下半月 | 被引量 : 0次 | 上传用户:kill5678
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】:随着大数据时代的来临,人们对于计算机技术的依赖程度越来越高,特别是建立在数据库基础上的各种查询技术为人们的工作和生活带来了方便和快捷。在查询技术中,多表连接查询的使用非常频繁,本文就常见的各种多表连接查询的特点进行分析总结、讨论优化策略。
  【关键字】:计算机技术 数据库 多表连接查询
  1引言
  计算机数据库技术是一门实用性非常强的技术,随着我国信息化建设工程的逐渐开展,在多个领域中都有了较为广泛的应用,并逐渐的发挥出在信息化建设中的主导作用。在数据库技术中查询技术是最基本、最常用也是最复杂的技术之一,而多表连接查询也是所有数据库操作中最繁琐所占比重最大的。所以弄清楚多表连接查询的种类,以及在什么情况下使用哪种查询策略是需要研究的重要问题。
  2 多表连接查询分类
  在实际工作中,所查询的内容往往涉及多张表,连接查询是关系数据库中最主要的查询方式,在SQL Server中连接查询类型分为交叉连接、内连接、外连接和自连接。
  2.1交叉连接
  交叉连接也称非限制连接,它是将两个表不加任何约束地组合起来。也就是将第一个表的所有行分别与第二个表的每一行形成一条新的记录,交叉连接在实际应用中一般是没有意义的,但在数据库的数学模型上有重要作用。
  2.2内连接
  内连接也称自然连接,它是组合两个表的常用方法。连接条件通常采用“主键=外键”的形式,也就是说在两个表中匹配的记录才能在结果集中出现。
  例如:有学生(学号、姓名、性别、专业),成绩(学号、课程号、分数)两个表,要查询选修了‘A001’课程的学生的姓名和专业。查询语句如下:
  select 学生.学号,姓名,专业
  from 学生 join 成绩 on 学生.学号=成绩.学号
  where 课程号=‘A001’
  2.3外连接
  (1)在外连接中可以只限制一个表,而另一个表中的所有行都出现在结果集中。外连接分为左外连接、右外连接和全外连接。分别对左表、右表和左右两边的表不加限制。
  例如:如果我们想查看所有的学生选修A001课程的成绩情况,就可以使用左外连接。查询语句如下:
  select 姓名,专业,课程号,分数
  from 学生 left join 成绩 on 学生.学号=成绩.学号
  where课程号=‘A001’
  以上问题也可以使用右外连接。查询语句如下:
  select 姓名,专业,课程号,分数
  from成绩 right join 学生on 成绩.学号=学生.学号
  where课程号=‘A001’
  这种情况下会以学生表为主,返回所有学生的信息,同时选修了A001课程的显示分数,没有选修A001课程的显示null
  (2)全外连接结果集中除返回左表和右表内部连接的记录以外,还在查询结果中返回两个表中不符合条件的记录,并在左表或右表的相应列中填上null,bit类型以0值填充。
  例如:有学生会(学号,姓名),人员分工(学号,职务)两个表,如果想查看学生会中的所有学生,哪些学生分配了职务,哪些学生还没有职务;学生会共设置了多少职务种类,哪些职务已经有人担任,哪些职务还有空缺,这时候就可以使用全外连接。查询语句如下:
  select 学生会.学号,姓名,职务
  from 学生会 full join 人员分工 on 学生会.学号=人员分工.学号
  这种情况下会返回学生会中所有学生学号、姓名,同时也会返回人员分工表里面的所有职务,没有职务的学生,职务填充null,没有分配出去的职务,姓名填充null。
  3 查询优化策略
  连接的表越多,条件表达式越繁琐,查询的复杂度就越高,所消耗时间就越长。因此在进行查询时我们应当在能返回正确查询结果的前提下,尽可能的降低查询时间,提高查询效率。
  3.1连表宜少不宜多
  例如:有學生(学号、姓名、性别、专业),成绩(学号、课程号、分数),课程(课程号,课程名,学时数)三个表。查询选修‘A001’课程的学生学号、姓名和课程号。可以用以下两种方法实现:
  方法一
  select 学生.学号,姓名,课程.课程号
  from 学生 join 成绩 on 学生.学号=成绩.学号
  join 课程 on 成绩.课程号=课程.课程号
  where 课程号=‘A001’
  方法二
  select 学生.学号,姓名,成绩.课程号
  from 学生 join 成绩 on 学生.学号=成绩.学号
  where 课程号=‘A001’
  第一组语句连接三个表查询,第二组语句连接两个表查询。前者查询效率低,后者查询效率高。
  3.2条件表达式宜简不宜繁
  例如:要查询张玲、李萍、王晓宇三个学生的学号、姓名、出生时间、专业。可以用以下两种方法实现:
  方法一
  select 学号,姓名,出生时间,专业
  from 学生
  where 姓名=‘张玲’ or 姓名=‘李萍’or 姓名=‘王晓宇’
  方法二
  select 学号,姓名,出生时间,专业
  from 学生
  where 姓名in(‘张玲’,‘李萍’,‘王晓宇’)
  第一组语句的where子句后有三个条件表达式,第二组语句的where子句后有一个条件表达式。前者查询效率低,后者查询效率高。
  4 结束语
  在数据库开发和维护过程中多表查询的优化设计对于提高大型数据库系统的性能具有现实意义。以上介绍的几种连接查询的适用场景,以及在优化查询时应当遵循的原则,仅供大家参考交流。
  【参考文献】::
  【1】邢文端; 简谈SQL SERVER 2000种的连接查询;读与写;2009年
  【2】王珊 孟小峰;数据库系统导论;机械工业出版社;2010年
  【3】冯玉才 陈红 文继荣;数据库和数据库管理系统;电子工业出版社;1995年
其他文献
在教育史上,关于职业教育的解释很多。而发展到今天,人们对职业教育的定义为:职业教育就是在一定普通教育的基础上,对社会各种职业、各种岗位所需要的就业者进行的知识、技能和态度的教育。既然是职业所需,那当然在教育中更注重的是学生与专业的契合度、理论与实践的高度统一。而这些,随着我在职业教育中的不断摸索,也愈发的理解其中精髓所在。  记得走向工作岗位的第一节课上,我让同学们说说自己选择所学专业的原因。没想
期刊
【摘要】:“二元弱酸盐溶液离子平衡”是高中选修四化学反应原理第三章中的内容,属于抽象性知识领域,學生掌握这一类知识点较为吃力,相应的,教师教学也较为困难。本文选取邻苯二甲酸氢钾溶液随着加入酸碱后溶液的pH变化作为实验案例,利用手持技术实验,使抽象知识直观化方便课堂教学。  【关键词】:手持技术;离子平衡;实验设计  “二元弱酸盐溶液离子平衡”是高中选修四的内容,涉及水解和电离平衡,是本章的重点内容
期刊
【摘要】:英语是一种语言工具,学习英语最终的目的就是将其运用于与他人进行交流。小学阶段的英语教育主要是培养学生学习英语的兴趣,对英语有一个初步的了解和认识。但在我国小学阶段的英语教育中,语音教学的环节薄弱,问题较为明显。本文试从英汉对比的角度来分析小学生英语重读的问题,同时还考虑到学生心智发展水平,教师教学方式等影响重读的因素,旨在提高教师教授重读的意识,纠正学生的重读问题,提高教学生口语的标准度
期刊
【摘要】:20世纪末,高校招生规模逐渐扩大,大学生的就业压力明显增加,本文研究“互联网+”背景下大学生职业生涯规划教育创新模式,从职业生涯规划教育持续时间、学生发展方向确定、学生职业性格和兴趣、职业生涯教育原则四方面展开分析,希望能为关注此话题的教育工作者提供指导意见。  【关键词】:职业生涯 职业兴趣 以人为本  引言:“互联网+”是一种新的经济业态,大学生职业生涯教育创新应该有效优化互联网生产
期刊
【摘要】:利用现代教学工具为辅助教学平台,突破传统教学瓶颈,以“网络营销” 为实践任务开展的教学,取得了良好的教学效果。网络营销是一门实践性和应用性很强的学科,提高学生的实践应用能力是网络营销重要的培养目标之一,现代教学工具教学则是提高学生实践能力和创新能力的有效手段之一,因此,有必要对现代教学工具教学在网络营销教学中的意义、存在的问题和应用对策进行研究,以提高网络营销学教学的效果。  【关键词】
期刊
【摘要】:目的论是是德国功能主义学派的核心理论,由二十世纪七十年代由德国学者威米尔提出。他认为,翻译研究不能单单依靠语言学。其核心概念为,翻译过程的最主要因素是整体翻译行为的目的。它包括三个原则:目的原则、连贯性原则和忠实性原则。本文在目的论指导下,对《围城》不同的英译进行研究。由此来证明目的论对于文学翻译有一定的指导意义。  【关键词】:目的论 《围城》 英译  一、前言  《围城》是钱钟书所著
期刊
近年来,伴随着“互联网+”战略的实施和大数据技术发展,越来越多的高校正逐步地将大数据技术引入到高校的后勤服务工作中,在贫困生补助、后勤保障等方面取得了显著的成效,比如:贫困生补助是高校后勤系統的一项重要工作,之前的贫困生申请都是由学生主动发起申请,并报请各级主管部门审批,在这个流程中,很多真正贫困的学生因为面子问题或心理问题拒绝申请,同时还存在部分学生伪造证明,骗取补助的现象出现,国内的部分高校将
期刊
【摘要】:随着教育理论的不断发展与深入,人们逐渐认识到体育在学校教育中不可替代的地位。本文已文献资料法为主,通过专家访谈法、逻辑归纳法等为辅从心理学以及生理学作用两方面进行分析。通过分析得知体育课程对中学生智力发展的心理学作用主要有三方面:加强中学生感知与记忆能力;加强中学生观察与注意能力;加强中学生空间思维与想象能力。体育课程对中学生智力发展的生理学作用主要有四方面:提高脑细胞功能,促进智力发展
期刊
【摘要】:我国经济的发展和文化的综合水平发展十分迅速,这就引起各个领域要齐头并进。其中,教育事业也是逐渐成为了人们关注的重点。学生全面发展是所有高校共同的发展目标,身体素质也成为了体育教育中很关键的一部分。这篇文章就高校文化“三位一体”教育模式上进行了研究,提出了这种教育模式的意义和具体构建方式,为高校的体育发展可提供参考。  【关键词】:高校体育文化 “三位一体”教育模式 模式构建  文化对人的
期刊
【摘要】:《幼儿园教育指导纲要》《指南》等文件都提出了“深入实施素质教育”的指导思想,并强调“以游戏为基本活动,保教并重,关注个别差异”。我们深知区角活动和绘本对于幼儿身心发展的重要意义,让幼儿在区域活动中操作和体验绘本故事,以绘本和区角相渗透的新方式全面促进幼儿理解、表达、想象和创造等能力的发展,健全幼儿人格,丰富幼儿阅读及生活经验,是我们探索独具园本特色区域活动的新方向。  在实际操作过程中,
期刊