1.事物是并发控制的基本单位, 那我们一次没有声明为事物的操作 ,比如一次  update  是作为什么被数据库处理的。
2. 对于并发控制,锁定机制是由谁来实现的,比如实现行锁 表锁 是数据库管理系统来统一管理的吧?
3.在预防死锁的情况下,比如采用一次封锁 顺序封锁,这些策略是体现在业务逻辑里面 还是数据库自身来选择实现?
或者说 数据库根本就不预防死锁,而是直接处理死锁。
4.对于事物的串行化调度,是由数据库来处理的吗?5.对于悲观锁定机制 ,悲观锁定是如何实现的?6select ...for update 语句的作用体现在何处?

解决方案 »

  1.   

    1.事物是并发控制的基本单位, 那我们一次没有声明为事物的操作 ,比如一次 update 是作为什么被数据库处理的。
    一个insert,delete,update sql就是一个隐式事务2. 对于并发控制,锁定机制是由谁来实现的,比如实现行锁 表锁 是数据库管理系统来统一管理的吧?
    是3.在预防死锁的情况下,比如采用一次封锁 顺序封锁,这些策略是体现在业务逻辑里面 还是数据库自身来选择实现?
    或者说 数据库根本就不预防死锁,而是直接处理死锁。
    当数据库探测到死锁后 会牺牲掉一个代价小的事务4.对于事物的串行化调度,是由数据库来处理的吗?
    是5.对于悲观锁定机制 ,悲观锁定是如何实现的?http://wenku.baidu.com/view/0b8fd72ded630b1c59eeb560.html
    6select ...for update 语句的作用体现在何处?
    对整表加更新锁 在查询的时候不能更新
      

  2.   

    事务 TRANSATION,不是事对于数据库来说,任何一个操作都是事务中的一部分或者全部,如果没有没明确说明,则每个语句都可以是一个单独的事务。针对你的这个问题,在MYSQL中要看当前的事务提交模式。如果AUTO COMMIT是ON的,则你每执行一个请问,则会被自动COMMIT; 则代表一个事务的结束,同样也隐含一个新的事务的开始。如果AUTO COMMIT是OFF,则UPDATE语句后,则仍在当前事务中,与前面的及以后的语句直至COMMIT都被视为一个事务。
      

  3.   

    先读三遍《数据库系统概论(第四版)》 王珊 萨师煊   高等教育出版社 (掌握基础知识和概念) 然后再粗略浏览一遍MYSQL的官方手册。(方便以后查找,避免类似于考试的时候,给你本政治书也不知道答案在第几章,第几页)MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  4.   


    这本学过了 只是和JDBC 交互的时候不大清楚具体的实现。