好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

达梦嵌入式数据库的执行计划缓存研究.pdf

54页
  • 卖家[上传人]:E****
  • 文档编号:118224183
  • 上传时间:2019-12-11
  • 文档格式:PDF
  • 文档大小:2.16MB
  • / 54 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 华中科技大学 硕士学位论文 达梦嵌入式数据库的执行计划缓存研究 姓名:王竹峰 申请学位级别:硕士 专业:计算机软件与理论 指导教师:吴恒山 2011-01-19 I 摘要 摘要 随着嵌入式技术的发展,用户越来越希望能对嵌入式产品中的数据进行更有效 的管理嵌入式数据库是一个有效的数据管理工具,但由于嵌入式数据库系统的资 源有限,其系统的运行效率是人们十分关注的问题 为了提高嵌入式数据库的运行效率,深入研究了达梦嵌入式数据库的虚拟机和 查询优化机制,在达梦嵌入式数据库现有查询优化器的基础上扩充了一种新的查询 优化功能——执行计划重用机制该机制主要包括相同 SQL 语句重用和相似 SQL 语句重用的判定方法及执行计划重用哈希键生成算法;缓存区级和文件级执行计划 等内容 执行计划重用的判定,如果是 SQL 语句完全相同,则只需要做简单的 ASCII 比较即可;如果是 SQL 语句相似的重用,则需要通过分词算法处理大小写不同、无 效字符、常量值如果在缓冲区中找到可重用计划则做相应的处理后直接执行 针对查询重用计划缓存区容量有限、执行计划重用率不高的问题,设计实现了 执行计划的文件管理机制,它是将内存缓存区中的执行计划存储到文件中去,或将 文件中的执行计划载入内存缓存区,这样可以提高执行计划重用率。

      文件中执行计 划的载入时机与存储时机分别是在打开数据库和关闭数据库时进行,它不会给系统 带来额外负担 针对相同 SQL 语句和相似 SQL 语句的情形分别进行了实验验证,实验结果表 明,执行计划重用机制可使系统的执行效率得到非常明显的提高 关键字::嵌入式数据库,查询优化,执行计划,缓存 II Abstract Abstract With the development of embedded technology, more and more users need more effective management of the data. Embedded database is an effective data management tools. However, due to the limited resources of embedded database system, the efficiency of the system is of great concern to users. In order to improve the efficiency of the embedded database, we expand a new query optimization - Execution plan reuse mechanism on origin optimizer ,which based on in-depth study of virtual machines and embedded database query optimization mechanisms. There are the theorems of identical SQL statement reuse and similar SQL statement reuse included in the new query execution plan cache mechanism, and also the query execution plan hash key generation algorithm, buffer query execution plan reuse and file-level query execution plan reuse and so on. For the determine the reuse implementation plan, if it is exactly the same SQL statement, only need to do a simple comparison in ASCII; if it is similar SQL statement reuse, we need to handle the case, invalid characters, constant value with the segmentation algorithm. If an appropriate treatment plan existed in the buffer, reuse it directly. For the limited query cache size, lowly plan reuse rate, we design file-level cached plan mechanism, which is store the buffer plan to file, or load the file-level cached plan into memory buffer, which can improve the execution plan reuse. The loading and storage time are open and close the database, it will not bring additional burden to the system. For the identical SQL statements and similar SQL statements, the test result indicates that the query processing time is efficiently shortened; the experimental results show that the new reuse mechanism significantly improved the system efficiency. III Keywords: embedded database, query optimization, execution, cache 独创性声明独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的 研究成果。

      尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人 或集体已经发表或撰写过的研究成果对本文的研究做出贡献的个人和集体,均已 在文中以明确方式标明本人完全意识到本声明的法律结果由本人承担 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文 保密□ ,在_____年解密后适用本授权书 本论文属于 不保密□ (请在以上方框内打“√” ) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 1 华 中 科 技 大 学 硕 士 学 位 论 文 1 绪论绪论 1.1 课题背景 1.1 课题背景 本课题来源于达梦公司的“达梦嵌入式数据库管理系统的研发”项目中的一个 子项目,该子项目要求在现有的数据库平台上实现对 SQL 语言的支持,同时要尽可 能的从各方面提高数据库运行效率,本课题的执行计划重用正是提高数据库执行效 率的一种很有效的方法。

      随着通信技术和网络技术的发展,嵌入式数据库(DMEMB)正成为数据库领 域的一个新的研究方向由于嵌入式设备的运行环境的各方面的限制,比如 CPU 速 度,内外存大小的有限性等,对嵌入式数据库也有了相应的需求,如高性能、占内 存小等,这就对嵌入式数据库的各方面及综合性能提出了更高的要求对于一个数 据库,最主要的操作就是查询,但是由于 SQL 查询语言存在费时低效的多关系连接 操作,从而使数据库系统的响应速度下降,有些查询的响应时间可能使多数用户不 能忍受,查询速度甚至己经成为数据库发展的瓶颈所以,一个数据库是否有快的 查询速度是数据库系统的很重要的性能指标之一 一条 SQL 语句的执行是经过多个步骤的,主要有词法分析、语法分析、查询优 化、 生成执行计划及执行, 可以看出, 一个执行操作主要的工作就是在分析一条 SQL 语句并对其进行处理,只是单纯的执行往往是比较快的,有实验得出[1],Oracle 中, 对一条 SQL 语句的分析及执行计划生成大约要占总执行时间的 2/3,所以如果执行 一条语句可以跳过对它的处理而直接执行将会在很大程度上提高数据库系统的性 能, 在嵌入式环境下这个性能的提高会显得更加紧迫,这种机制就是执行计划重用, 而本课题就是致力于在嵌入式数据库中设计与实现重用机制。

      1.2 国内外研究与发展概况 1.2 国内外研究与发展概况 1.2.1 数据库查询优化研究概况 1.2.1 数据库查询优化研究概况 对于一个给定的查询,可能有许多种执行方式[2],查询优化[3~5]的作用就是从这 2 华 中 科 技 大 学 硕 士 学 位 论 文 些可能的方式中选择其中效率最高的作为执行计划,特别是在一条查询比较复杂的 情况下,查询优化的作用就更加明显了SQL 通常被称作第四代程序设计语言,其 特点是编写者不用考虑语句执行的具体细节(如表连接的先后、数据文件的存放位 置) 因而,对于一个查询请求,不可能要求由用户指定具体的执行方式,而是希望 由系统构建一个查询执行计划来最小化查询执行的代价 当前对查询优化的研究主要分为三个方面,一是外部优化,即致力于最大限度 地挖掘软、硬件的潜力,增强查询性能其中主要包括对数据的组织存储、SQL 语 句、以及数据库的参数配置等的优化二是内部优化[6],主要是数据库内部实现的 针对特定的问题领域而做的优化,主要包括基于规则、基于关系代数、基于代价统 计三方面的优化三是基于执行计划重用的,这种方法主要是对某些 SQL 语句减少 一些不必要的分析过程而进行的,本文主要致力于嵌入式数据库执行计划重用方案 的设计研究与系统实现,同时提出了新的文件级计划重用方案。

      下面主要对内部优 化做简单介绍 1.基于语义的查询优化规则 语义优化的主要思想是利用数据库表中定义的各种数据完整性约束条件,通过 语义查询优化规则把给定的查询转变换为更高效的等价查询,用转换后的查询来提 高查询效率例如下面的查询语句 select * from test where sage = 33; 这个查询找到所有年龄为 33 岁的学生信息 假如己经在 test 表上定义了一个年 龄在 15 到 30 之间的完整性约束通过语义优化规则检查相关的完整性约束,很明 显 33 不在 15~30 之间,则不必扫描 test 表就能知道这个查询的结果是空这样就不 需要进一步的逻辑和物理查询,从而提高了查询效率 2.基于关系代数的查询优化规则 所谓关系代数规则[9~11]就是利用关系代数表达式的等价规则,把初始查询树转 换成最终查询树,以完成查询树的优化然而,基于代数规则的优化[12~14]并不能确 定优化后的查询树是否为最小代价的,因为它没有使用任何代价统计信息,缺乏灵 活性和适应性,已经不能满足今天各种应用对数据库高效灵活的需求等新的服务 所以基于代数规则的优化正逐渐被基于代价的优化所代替。

      3 华 中 科 技 大 学 硕 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.