数据库查询优化中的智能预取技术.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库查询优化中的智能预取技术 0 引言 对于海量数据的检索往往耗时巨大, 因此有必要设计特定的 查询优化系统。 通常的优化系统采用的策略可以分为两类: ①通 用的优化策略。该策略与应用本身无关,适应面广,可以应用在 所有的优化系统中, 但往往优化的效果并不是十分明显, 尤其是 对于海量随机检索, 查询效率很难有所提高。 ②与应用密切相关 的优化策略。 该策略在设计过程中需要考虑应用的细节, 有可能 对查询效率有所提高, 但如果应用比较复杂, 其设计的难度也很 大,而且由于仅适用于特定应用,其开发成本也很高。人工智能 技术具有自适应的特性, 能够针对不同情况自动调整系统的各项 参数,因此十分适合构造一种既与应用相关, 又可以通过自动调 整以适应不同应用的查询优化策略。 通过构建一个采用预取策略的查询优化系统来对数据检索 进行优化。其中预取哪些数据是查询优化系统能否发挥作用的一 个重要因素。 因此在预取数据的选择上采用了蚁群规则和惯性规 则相结合的方式来实现。 通过使用该算法, 预取数据既可以与应 用紧密相关, 同时又具有自动调整的特性, 能够适应不同的应用 需求。通过实验验证, 该方案不仅在特定应用中能够发挥优化作 用,而且具有较强的通用性。 相关工作 Seppi[1] 提出了一种基于 Bayesian 方法的数据查询优化算 法。该算法试图利用人工智能的方法解决查询的不确定性, 在学 习算法和查询处理之间获得较好的平衡。 但是这种方法需要大量 的实例进行训练,从而获得相应的 Bayesian 网络。然而即使得 到了该网络, 仍然不能处理其他类型应用所产生的查询, 因此在 应用面上受到了很大的限制。基于 Seppi 的工作, Cole 等人 [2] 提出了一种基于成本的决策模型来生成动态执行计划。与 Seppi 进行预测的优化思想不同, Cole 的工作是基于执行成本进行优 化,而相应的执行成本需要建立在预先数据分析的基础上, 这对 负载较重的数据库系统来说会带来较大的性能问题。 WangDazhi 提出了采用分析查询语句, 并提取出相应模板的做法来实现数据 预取 [3] 。这种思想与本文所提出的预取思想有类似之处,但是 其应用场合仅限于包含大量相同查询模式的场合。例如通过 Web 页面访问数据库, 在该场合下, 访问数据库的模式往往是预先定 义好的,因此比较适合简单的统计预测。 Zhou Jingren 等人 [4] 则从内存访问的局部化方面入手, 设计了一种新的预测算法, 可 以通过提高在查询过程中内存访问的局部性来提高 Cache 的命 中率。 随着对数据查询需求的日益提高, 查询优化系统已经从单纯 的性能提高发展为具有体系结构、 可扩展的系统。 针对这种发展 趋势,已有研究机构对于查询优化的可扩展性提出了以下几个显 著特征[5]:①具有严格的数学推导和理论算法;②具有一套数据 变换规则;③基于统计学或成本的模型;④算法的物理属性;⑤ 新的状态空间搜索策略;⑥执行计划的质量(如是否需要全局搜 索)。 与此同时, 由于现代数据查询都具有海量的特性, 优化器本 身的查询和匹配效率也是十分重要的指标。 目前国外已经开发出 了一些具有可扩展特性的查询优化系统 [6?8],但是这些系统并 没有完全满足完整的查询优化需求。 本文提出的方法满足了特征 ②?④。虽然并没有提出严格的数学推导, 但由于采用了以统计 学为基础的蚁群假设和以 BP网络为基础的惯性假设,仍然具有 比较坚实的理论基础。 预取算法描述 本文讨论的目标数据集合为符合关系数据模型的数据源, 面 向的查询语句为标准的 SQL查询语句。?廿丁 ?1标引属性(LP)。 能够对海量数据查询进行分解处理的前提是该海量数据具有可 分性,即存在某个属性值,通过对该属性值进行分类,可以较为 平均地对数据进行分割。 这个值称为标引属性, 记为 LP ( Labled Property )。 标引属性对于特定的目标数据集合来说是唯一的。 定义2索引属性(IP )。可能产生数据查询条件的属性称为 索引属性,记为 IP (Indexed Property )。 目标数据集合除了包括标引属性 LP和索引属性IP夕卜,还可 能包括其他属性值。 定义3历史查询(HQ。用户曾经发出的查询请求。其中条 件字段中必须包括LP,有可能包括IP。 根据LP将目标查询数据分解为固定大小的子区域,在每个 子区域上重新构建用户的查询命令,生成的任务称为子查询任 务。每个子查询任务的结果可以形成一个数据块存放到高速缓冲 区中;当下次执行相同的子查询任务时可以直接从高速缓冲区中 获取结果, 而不需要重新执行数据库查询操作, 这样的数据块称 为缓冲块。 定义4用户(U)。每个发出查询请求的客户被称为一个用 户,用 U( U

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档