数据库复习8,9:数据库编程与查询处理及优化

for HZAU COI students

嵌入式SQL

1.SQL通信区:exec SQL include SQLCA

2.主变量:SQL语句中使用的主程序变量。输入主变量由程序赋值,SQL使用,输出主变量由SQL赋值,返回应用程序。

3.游标:游标是系统为数据库开设的一个数据缓冲区,存放SQL的结果。

使用游标:

1.说明游标:declare 名字 cursor for select句子

2.打开游标:open 名字

3.推进游标并取记录:fetch 名字 into 主变量 指示变量,……

4.关闭游标:close 名字

过程化SQL

1.存储过程:由过程化SQL书写的过程。(p256 例8.9)

优点:

1.运行效率高

2.降低客户端与服务端的通信量。

3.方便实施企业规划。

总结:

嵌入式SQL把SQL语句嵌入到某种高级语言中,SQL语句用来存储数据库中的数据,主语言用来控制程序的流程以及对取出的数据做进一步处理,利用高级语言的强大计算能力来实现复杂的应用需求。SQL与主语言的具有不同的数据处理方式。SQL是面向集合的,而主语言是面向记录的。所以嵌入式SQL使用游标来协调这种不同的处理方式。

查询优化:分为代数优化(逻辑优化)和物理优化(非代数优化)。代数优化是指关系代数表达式的优化,物理优化则是指通过存取路径和底层操作算法的选择进行优化。

查询处理步骤:查询分析,查询检查,查询优化,查询执行。

选择操作的实现:

1.全表扫描

2.索引扫描

链接操作的实现:

1.嵌套循环。

2.排序-合并算法。

3.索引连接算法。

4.hash join算法。

代数优化策略是通过对关系代数表达式进行等价变换来提高效率。

物理优化方法:

1.基于规则的启发式优化。

2.基于代价估算的优化。

3.两者结合的优化。

for HZAU COI students

written by uitstalie on 15:11,03.01.2022

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值