从数据库里检索数据所涉及的活动称为查询处理。对于一个高级查询,DBMS可以使用不同的技术处理、优化和执行。在高级查询语言里,任何一个给定的查询可以有不同的处理方式,每个查询需要的资源也是不同的。图6.1SQL查询命令的执行步骤......
2023-10-28
应用千变万化,当用户输入的查询任意复杂时,这取决于语言提供的能力。规范化的目标是将查询转换成规范形式,以便做进一步处理。假设用户使用的是关系型语言,如SQL,且涉及最重要的变换是查询的限定条件(即查询命令中的where子句),那么这种条件可以是任意复杂的或简单的谓词,使用逻辑“与”(∧)、“或”(∨)连接起来。例如:
age>18 AND deptno=9 AND sex="mal e"
表示选择年龄在18岁以上、属于系别编号为9和男性的(学生)。
这种形式可以简化成:
(p11∨p12∨…∨p1n)∧…∧(pm1∨pm2∨…∨pmn)
这里,pij是一个简单谓词,1≤i≤m,1≤j≤n。
下面是另外一种形式:
(p11∧p12∧…∧p1n)∨…∨(pm1∨pm2∧…∧pmn)
规范化时,谓词变换起了关键作用,以下是一些无量词谓词的变换公式。
(1)p1∧p2⇔p2∧p1;
(2)p1∨p2⇔p2∨p1;(www.chuimin.cn)
(3)p1∧(p2∧p3)⇔(p1∧p2)∧p3;
(4)p1∨(p2∨p3)⇔(p1∨p2)∨p3;
(5)p1∧(p2∨p3)⇔(p1∧p2)∨(p1∧p3);
(6)p1∨(p2∧p3)⇔(p1∨p2)∧(p1∨p3);
(7)(p1∧p2)⇔p1∨p2;
(8)(p1∨p2)⇔p1∧p2;
(9)(p)⇔p。
这些变换公式在此就不进行详细证明了。
在析取规范式中,可以像处理由并运算连接起来的子查询一样独立处理,但缺点是会产生复杂的连接和选择谓词,形成一个由AND(∧)连在一起的很长的谓词。
所谓规范化,就是将查询构造成合取式或析取式,典型的是转换成析取式。
有关分布式数据库技术的文章
从数据库里检索数据所涉及的活动称为查询处理。对于一个高级查询,DBMS可以使用不同的技术处理、优化和执行。在高级查询语言里,任何一个给定的查询可以有不同的处理方式,每个查询需要的资源也是不同的。图6.1SQL查询命令的执行步骤......
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
并行查询优化与分布查询处理类似。并行查询优化可以同时利用算符内并行和算符间并行的优点,还可以使用分布式数据库管理系统的技术。并行查询优化是指生成一个给定查询的执行计划,达到目标成本函数最小的目的。为了精确预测,成本模型必须包含并行环境的知识。为了估算执行计划的成本,成本模型使用数据库统计和组织信息,如关系基和分割等,就像分布式查询优化器一样。......
2023-10-28
查询分解是把分布演算查询映射到一个全局关系的代数查询上。从代数优化看,使用直接分步骤的算法可以获得一个“好的”结果,但是,进一步看未必是最佳的。换句话说,每次选最好的,不见得最终结果是最佳的。就像有一筐苹果,每天选一个质量最好的苹果吃,不见得是最好的吃法。数据定位决定查询涉及哪些数据片,并将分布查询转化成分片查询。......
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
涉网查询优化的问题主要包括三部分,其过程简述如下。查询优化器可以由三个成分构成:搜索空间、成本模型和搜索策略。图7.17查询优化过程1.搜索空间查询执行计划是算符树的一种表现形式,对执行序有更明确的表示,有丰富的附加信息,如为每个操作选择最佳实施方法。图7.19连接树的两种主要形态2.搜索策略查询优化器最常用的搜索策略是动态规划,称为确定策略。......
2023-10-28
几乎所有的对象查询处理器都使用关系型系统定制开发的优化技术。通过继承层次存取对象的优化也是面向对象和关系查询处理相区别的问题。图15.8对象查询处理方法对象的复杂结构及其上面提及的那些与关系查询的四点主要差异导致对象查询的优化和关系查询比较有很大不同。查询优化器可以计算整棵处理树的成本。......
2023-10-28
相关推荐