Java内容的复习-数据库

为了将Oracle迁移到MySQL,过程中需要做增量数据的记录。因此想了几种方案:

1. 如果表后面有modifydate这个字段的话,就可以按照这个字段来迁移表,将在dump时间之后修改的数据做迁移

2.在需要做增量迁移的表上建trigger,将insert,update,delete的操作记录下来。

3.用oracle自带的audit trail功能来做(不适合,表格式不对,多表关联)

   http://frankfan915.iteye.com/admin/blogs/1546337

   Flash Back是用来做数据恢复的

   http://frankfan915.iteye.com/admin/blogs/1560269

           

   Communications link failure

   http://frankfan915.iteye.com/admin/blogs/1672465  

 

   去o的优化

   http://frankfan915.iteye.com/admin/blogs/1674877

 

   Oracle的锁机制 
http://blog.csdn.net/vogts/article/details/1618406
http://www.cnblogs.com/jianging/archive/2011/03/29/1999311.html
Oracle分为独占锁,共享锁,更新锁。 
共享锁指的是其它事务可以读,但不能修改它 
更新锁指的是当当前事务没有修改数据的时候,其它事物可以读取数据。但是当当前事务要跟新事物的时候,就会把锁变成独占锁 

锁的级别可以锁在行上也可以锁在表上。 
因此对于上面的隔离性就可以加不同的锁来实现了 
读未提交:写的时候对行加共享锁 
读已提交:写的时候对行加独占锁 
可重复读:写的时候对行加排它锁,读的时候对行级别加共享锁 
序列化:读写的时候都对表加排它锁 

 

       隔离级别(isolation level)

 http://epub.itpub.net/3/4.htm

 

 索引的存储结构是什么: 
索引是通过平衡二叉树来存储的。这样可以实现高效的存储,查询。二叉树的每个叶子结点都用来存储键值和rowid.有点是对于每个节点平衡二叉树的查询速度都是log(n) 
索引的属性 
    有两种类型的索引块: 

    * 用于搜索的分支块 
    * 用于存储索引数据的叶块 

(1) 分支块 
    分支块中存储以下信息: 

    * 最小的键值前缀,用于在本块的两个键值之间做出分支选择 
    * 指向包含所查找键值的子块的指针 

    包含 n 个键值的分支块含有 n+1 个指针。键值及指针的数量同时还受索引块容量的限制。 
(2) 叶块 
    所有叶块相对于其根分支块的深度是相同的。叶块用于存储以下信息: 

    * 数据行的键值 
    * 键值对应数据行的 ROWID 

所有的键值-ROWID 对都与其左右的兄弟节点向链接,并按照(key,ROWID)的顺序排序。 

 

 MySQL http://www.mysql.com/why-mysql/

1.如何优化 http://www.mian4.net/mianshiti/it/mysql/27830.html

2.提高安全性 http://www.mian4.net/mianshiti/it/mysql/27825.html

3.存储引擎 http://www.mian4.net/mianshiti/it/mysql/27826.html

面试题 http://www.mian4.net/mianshiti/it/mysql/27821.html

猜你喜欢

转载自frankfan915.iteye.com/blog/2099782