1 / 21
文档名称:

eXtremeSQL用户指南.doc

格式:doc   大小:302KB   页数:21页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

eXtremeSQL用户指南.doc

上传人:mh900965 2018/4/24 文件大小:302 KB

下载得到文件列表

eXtremeSQL用户指南.doc

文档介绍

文档介绍:eXtremeSQL查询优化
对于执行SQL语句建立一个最优计划是很复杂且有挑战性工作。SQL优化器分析SQL查询发送到数据库,并选择最好的搜索访问数据库的策略。
有两个SQL优化类:基于开销和基于规则。基于磁盘的数据库通常是用基于开销优化。使用基于开销优化,查询优化很依赖数据的分布。通常情况下采用优化器提供的样板和由数据库引擎提供的统计数据,并收集统计信息自身,去计算执行计划的后选开销。因此,建立最优的计划是一个非常占用CPU的操作和本质上不可预测,在优化程序所花费的时间各不相同的查询来查询和执行计划可以改变从一个调用到另一个数据分布变化,CPU使用率被认为是一个很好的权衡,ess成本相对较高。
对于实时和嵌入式系统可预知的性能是关键,一个基于规则的优化器,像eXtremeSQL使用是更适合地。此外,eXtremeSQL优化器使得应用程序可以专注它们自己的执行计划。例如,优化器没有重新排序表中查询:查询中指定的顺序表被执行。其中一些可用于查询中使用的其他重要规则优化包括:
·如果可能,使用索引.
·每个表都被分配一个序号,代表从它在列表中的位置。
·搜索意味着分成列和一组列来排序,因此首先表达式用最小序号访问表来检查。
·。
对于eXtremeSQL中更多的关于查询优化请见“章节4:eXtremeSQL查询优化”。
章节2:SQL和eXtremeSQL
本章涵盖SQL和eXtremeSQL之间的相似和不同处。
SQL介绍
SQL(结构化查询语言)是由IBM70年代中期开发作为来获得进出数据库系统信息的一种方式。和它名字所暗示的相反,SQL不仅是一个查询语言,而且也是操纵已在数据库中信息(新增,变更或删除)的语言。
SQL是一种说明性语言,而传统的编程语言(C / C + +中,Java等)是程序语言。实际上来说,这意味着SQL有没有控制语句(例如if和while)。
SQL已被数据库供应商广泛采用,并已由ANSI和ISO组织制度化为标准。 SQL技能得知,一个数据库系统可以在很大程度上结转到其他SQL功能的数据库系统,虽然几乎每个厂商实现专有扩展的语言开发自己的数据库技术的能力。
在ANSI SQL标准已经发展多年,与SQL - 89标准的开始,其次由SQL - 92,以及最近的SQL - 99标准。对于SQL DML语句eXtremeSQL尽可能地符合SQL - 89标准。
SQL语言分类
SQL由一套语句组成,它们划分成:
·数据定义语言(DDL)语句
·数据控制语言(DCL)语句
·数据操作语言(DML)语句
TABLE和CREATE :sql2mco 的应用有更多的有关SQL DDL应用.
DCL定义通过语句的方法访问数据的权限比如GRANT和REVOKE.
注意:eXtremeSQL没有实现SQL DCL语句.
:
·SELECT
·INSERT
·UODATE
·DELETE
eXtremeSQL操作概述

SQL语句是被嵌入在C/C++程序中的并且通过在章节3:eXtremeSQL 编程接口中描述的eXtremeSQL 编程接口递交到eXtremeSQL的.
SQL语句被解析,验证语句语法的正确性。如果没有发现错误,优化调用,它尝试通过查询数据库字典发现潜在的索引和类之间autoid/:。(通过字段A上索引找到类的一个对象;使用找到对象B字段的值作为一个搜索在Y类的D字段上索引,等等).
语句被解析,优化,形成了一个执行计划后,应用程序使用eXtremeSQL编程接口来获取结果。
eXtremeSQL 处理
多个进程可以通过McoSqlEngine类在共享内存中同时使用一个数据库。如果在单个进程内两个或更多的线程需要同时访问一个数据库,ultithreadedSqlEngine。
通过eXtremeSQL并发线程访问数据库应认真考虑。原因是由McObject的数据库产品依据来自主要市场的特点划分目标群,例如,嵌入式系统。具体来说,嵌入式系统通常有较少的内存和相对较慢的处理器。任何动态SQL的执行的性质是需要相