《数据库与事物处理》学习笔记
2010-07-17 15:13
211 查看
1。 查询语句处理
sql ----解析器---> 关系代数表达式 ----查询优化器---> 查询执行计划 ----代码生成器---> 可执行代码。
(关系代数解释了sql是如何计算的)
2。 查询计算方法
select attrs, aggregates
from relations
where condition
group by group attr list
having group condition
order by order attr list
第一步: 计算from子句。 产生一个表, 这个表是作为参数列出的那些表的笛卡尔积。
第二步: 计算where子句。 由where子句产生的表只包含哪些条件计算为真的行。
第三步: 计算group by子句。 把产生的表划分成元组的分组,每一个组只包含在组属性序列表所有属性上都一致的那些元组。
第四步: 计算having子句。对产生的组中能满足组条件的那些组。
第五步: 计算select子句。计算目标序列表中的聚合函数, 保留作为select子句参数列出的那些列, 并为每个组产生一行。
第六步: 计算order by子句。利用指定列对产生的行进行排序。
3。物化视图: 高速缓存的视图
4。索引: 索引是由一组索引条目和基于一个查找键值来有效地定位某个条目的机制所组成的。
稠密索引是指索引中的项与数据文件中的每一条记录一一对应。
稀疏索引是指索引中的项与数据文件中的每一页对应。
聚簇索引: 相同键的查找上,索引项和数据记录都是有序的, 通常称作主索引, 可能是稀疏索引。(物理位置上相近的索引项在一定程度上预示相应的数据记录也相近, 和非聚簇索引相比, 这样的索引使得特定的查询能更加有效的执行)
否则为非聚簇索引: 通常称作辅助索引, 一定是稠密索引。
5。事物
全局支持可串行化调度的分布式事务处理系统需满足以下两个要求:
所有的数据库管理系统实现严格的两段锁并发控制。
所有的数据库管理系统参加两阶段提交协议。
sql ----解析器---> 关系代数表达式 ----查询优化器---> 查询执行计划 ----代码生成器---> 可执行代码。
(关系代数解释了sql是如何计算的)
2。 查询计算方法
select attrs, aggregates
from relations
where condition
group by group attr list
having group condition
order by order attr list
第一步: 计算from子句。 产生一个表, 这个表是作为参数列出的那些表的笛卡尔积。
第二步: 计算where子句。 由where子句产生的表只包含哪些条件计算为真的行。
第三步: 计算group by子句。 把产生的表划分成元组的分组,每一个组只包含在组属性序列表所有属性上都一致的那些元组。
第四步: 计算having子句。对产生的组中能满足组条件的那些组。
第五步: 计算select子句。计算目标序列表中的聚合函数, 保留作为select子句参数列出的那些列, 并为每个组产生一行。
第六步: 计算order by子句。利用指定列对产生的行进行排序。
3。物化视图: 高速缓存的视图
4。索引: 索引是由一组索引条目和基于一个查找键值来有效地定位某个条目的机制所组成的。
稠密索引是指索引中的项与数据文件中的每一条记录一一对应。
稀疏索引是指索引中的项与数据文件中的每一页对应。
聚簇索引: 相同键的查找上,索引项和数据记录都是有序的, 通常称作主索引, 可能是稀疏索引。(物理位置上相近的索引项在一定程度上预示相应的数据记录也相近, 和非聚簇索引相比, 这样的索引使得特定的查询能更加有效的执行)
否则为非聚簇索引: 通常称作辅助索引, 一定是稠密索引。
5。事物
全局支持可串行化调度的分布式事务处理系统需满足以下两个要求:
所有的数据库管理系统实现严格的两段锁并发控制。
所有的数据库管理系统参加两阶段提交协议。
相关文章推荐
- ASP.NET 3.5核心编程学习笔记(44):HTTP处理程序的编写之从数据库加载图像
- 学习笔记—数据库事物
- [学习笔记]二进制数据的处理(1) 普通二进制数据处理 B -------读取数据库中二进制数据
- php学习笔记(十九)mysqli扩展库的多语句查询、事物处理以及字符集设置
- 十、Oracle数据库之学习笔记---Oracle事务处理
- Java学习笔记之数据库(触发器、事物、索引、投影和除、视图、存储过程和函数 )含各种链)___ 一直补充
- [Spring学习笔记 7 ] Spring中的数据库支持 RowMapper,JdbcDaoSupport 和 事务处理Transaction
- 精通SqlServer2005学习笔记----Sqlserver事物中的异常处理
- 事务处理及锁定 【数据库高效编程 - 学习笔记 第六章】
- [学习笔记]二进制数据的处理(1) 普通二进制数据处理 A -------保存到数据库
- 图像处理学习笔记
- 数据库学习笔记二:备份和恢复
- ZP的EXTJS学习笔记(三)——邮箱功能的开发(按钮事件、下拉框、分页、record小图标、整条数据格式处理、定时刷新、record复选删除、分组)
- 学习笔记-Laravel 数据库 聚合+Join 查找语句。
- ODBC数据库连接------java学习笔记之3
- 数据库的学习笔记
- 数字语音信号处理学习笔记——绪论(1)
- redis入门指南 学习笔记(二) Redis的多数据库
- C++ Primer 学习笔记_88_用于大型程序的工具 --异常处理[续1]
- 数据库学习笔记和小练习(15)存储过程