几乎所有的对象查询处理器都使用关系型系统定制开发的优化技术。通过继承层次存取对象的优化也是面向对象和关系查询处理相区别的问题。图15.8对象查询处理方法对象的复杂结构及其上面提及的那些与关系查询的四点主要差异导致对象查询的优化和关系查询比较有很大不同。查询优化器可以计算整棵处理树的成本。......
2023-10-28
从数据库里检索数据所涉及的活动称为查询处理(query processing)。查询处理的目的是将使用高级程序语言(如SQL语言)编写的程序转换成一种(实现关系代数的)使用低级语言表示的、正确的和有效的执行策略,并执行该策略,以检索所需要的数据。其中一个重要内容是查询优化(query optimization)。
选择处理查询的有效执行策略的活动称为查询优化。同一个高级查询有许多等价转换,优化即选出其中的一个,评判依据是选择使用的资源最少、花费的时间最短的那个。对于一个高级查询(SQL形态),DBMS可以使用不同的技术处理、优化和执行。大致过程为:首先扫描用高级查询语言标识的表达式,并分析和验证它们;然后用扫描器识别查询文本里的语言成分(称为token),用分析器检查查询语法的正确性,并(通过存取数据目录)验证属性名和关系名是否有效;最后生成该查询的内部表示(如查询树或查询图)。优化器会生成多个计划,从中选出估计执行开销最小的计划。
在高级查询语言里,任何一个给定的查询可以有不同的处理方式,每个查询需要的资源也是不同的。DBMS扮演的角色是选择优化的方式处理查询。由于受时间/空间复杂性的限制,优化器往往无法做到最优化,通俗来讲,优化器只试图找出足够好的策略。
查询优化的基本步骤如下。
●分析查询表达式,列举可选择的替代方案,一般替代方案数量很大。(www.chuimin.cn)
●估算列举的每个替代方案的开销,选择最小估算成本的方案。
这样,SQL查询命令的执行步骤如图6.1所示。
图6.1 SQL查询命令的执行步骤
有关分布式数据库技术的文章
几乎所有的对象查询处理器都使用关系型系统定制开发的优化技术。通过继承层次存取对象的优化也是面向对象和关系查询处理相区别的问题。图15.8对象查询处理方法对象的复杂结构及其上面提及的那些与关系查询的四点主要差异导致对象查询的优化和关系查询比较有很大不同。查询优化器可以计算整棵处理树的成本。......
2023-10-28
查询处理的目标是按照分布式上下文将基于分布式数据库的高级查询转换成采用低级语言表达的、更有效的、基于局部数据库的执行策略。响应时间是执行查询获得响应所经历的时间。集中式数据库系统中,总开销主要由CPU开销和I/O开销构成。CPU开销是指数据在内存时发生的计算开销。通信开销则是参与执行查询的节点间交换数据所需的开销。大部分早期的分布式查询处理的建议方案都强调通信开销远大于本地开销,因此可以忽略本地开销。......
2023-10-28
尽量要求事务执行能够并行化。图14.16Teradata DBC的事务处理是并行的图14.16中,每个竖放的矩形表示处理器,分别记为AMP1、AMP2、AMP3和AMP4,横放的矩形表示事务。图14.18算符内并行注:为算符,为算符实例i,n=并行度2.算符间并行算符间并行指的是不同的算符并行计算。图14.19中的两个选择算符是独立并行的。算法14.2是并行关联连接算法。......
2023-10-28
表7.8分布查询优化算法比较①统计内容分别为:1=关系的基,2=每个属性的不同值个数,3=连接选择系数,4=每个连接属性上投影的大小,5=属性大小和元组大小。......
2023-10-28
涉网查询优化的问题主要包括三部分,其过程简述如下。查询优化器可以由三个成分构成:搜索空间、成本模型和搜索策略。图7.17查询优化过程1.搜索空间查询执行计划是算符树的一种表现形式,对执行序有更明确的表示,有丰富的附加信息,如为每个操作选择最佳实施方法。图7.19连接树的两种主要形态2.搜索策略查询优化器最常用的搜索策略是动态规划,称为确定策略。......
2023-10-28
查询分解的最后一步是将查询重新写成关系代数的形式。重构关系代数查询以改进性能。树根则代表查询结果。其次,根节点是关于结果属性的投影操作,显示在Select子句中。 查询“那些在CAD/CAM项目中工作了1年或2年的名字不叫李林的雇员”,其SQL语句如下:Select enamef rom PROJ,EMP_PROJ,EMPwhere EMP_PROJ.eno=EMP.enoAND EMP_PROJ.pno=PROJ.pnoAND ename≠"李林"AND PROJ.pname="CAD/CAM"AND这可以映射成图7.2所示的算符树。应用变换规则,从这棵算符树可以派生出许多不同的树。如何重写,请看下面即将介绍的等价变换。图7.2算符树的例子......
2023-10-28
查询分解是把分布演算查询映射到一个全局关系的代数查询上。从代数优化看,使用直接分步骤的算法可以获得一个“好的”结果,但是,进一步看未必是最佳的。换句话说,每次选最好的,不见得最终结果是最佳的。就像有一筐苹果,每天选一个质量最好的苹果吃,不见得是最好的吃法。数据定位决定查询涉及哪些数据片,并将分布查询转化成分片查询。......
2023-10-28
图6-1信息检索的步骤1.分析研究课题在着手查找信息前,需要对课题进行分析,明确学科或专业的范围,弄清检索的真正意图及实质。3.确定检索途径检索途径是进入检索的入口。上述两类途径构成了信息检索的整个检索途径体系。这是根据信息的题名来检索信息的途径,比较符合一般用户对信息使用的习惯。它们是一些信息类型的特有标识,与信息有对应的关系。......
2023-11-01
相关推荐