honv
L 二次方
dynamic:high-concurrency & distribution...
轻量code,持续design
  • 45
    articles
  • 54
    tags
  • 31
    messages
2012-02-10 15:40:04 类别:笔记 tag: 猿人来了 来自:  踏(673) | ++ (0) | -- (0) | 给个评

数据库-基本概念

乐观锁( Optimistic Locking )

相对悲观锁而言,乐观锁机制采取了更加宽松的加锁机制。悲观锁大多数情况下依 靠数据库的锁机制实现,以保证操作最大程度的独占性。但随之而来的就是数据库 性能的大量开销,特别是对长事务而言,这样的开销往往无法承受。

如一个金融系统,当某个操作员读取用户的数据,并在读出的用户数据的基础上进 行修改时(如更改用户帐户余额),如果采用悲观锁机制,也就意味着整个操作过 程中(从操作员读出数据、开始修改直至提交修改结果的全过程,甚至还包括操作 员中途去煮咖啡的时间),数据库记录始终处于加锁状态,可以想见,如果面对几 百上千个并发,这样的情况将导致怎样的后果。

乐观锁机制在一定程度上解决了这个问题。乐观锁,大多是基于数据版本 ( Version )记录机制实现。何谓数据版本?即为数据增加一个版本标识,在基于 数据库表的版本解决方案中,一般是通过为数据库表增加一个 “version” 字段来 实现。

标准SQL规范中定义的四个事务隔离级别

http://database.e800.com.cn/articles/2008/54/1209876702992_1.html

2012-01-14 17:07:15 类别:笔记 tag: SQL 来自:  踏(955) | ++ (0) | -- (0) | 给个评

数据库表连接查询

连接查询过程
系统首先执行FROM子句,这里FROM子句列出的有两个表TEACHER表和COURSE表,DBMS将计算这两个表的笛卡尔积,列出这两个表中行的所有可能组合,形成一个中间表。中间表中的每条记录包含了两个表中的所有行。 而后系统将执行WHERE子句,根据“TEACHER.CNO = COURSE.CNO”关系对中间表进行搜索,去除那些不满足该关系的记录。 最后系统执行SELECT语句,从执行WHERE子句后得到的中间表的每条记录中,提取TNAME、DNAME、CNAME和CTEST 4个字段的信息作为结果表。
2012-01-06 11:26:17 类别:笔记 tag: sql 来自:  踏(1050) | ++ (0) | -- (0) | 给个评
加载中..
返回顶部