随笔分类 - MySQL数据库
摘要:题目: 数据库事务,银行转账的例子。 a和b不在同一个数据库里(跨数据库)的事务设计。如何保证两个或多个数据库之间转账事务的执行和回滚。 MySQL怎么做。自己写代码怎么实现。【如何实现跨库的事务操作】(跨数据库怎样保证事务执行和回滚)【两段式提交】两个事务,在保证一个"中心"事务...
阅读全文
摘要:/*银行取款机数据库*/usemastergoifexists(select*fromsysdatabaseswherename='bankDB')dropdatabasebankDBgocreatedatabasebankDB--建立数据库bankDBgousebankDBgoifexists(s...
阅读全文
摘要:【使用 JAVA 中的动态代理实现数据库连接池】【http://www.ibm.com/developerworks/cn/java/l-connpoolproxy/】缓冲池技术很多的连接池都要求用户通过其规定的方法获取数据库的连接,这一点我们可以理解,毕竟目前所有的应用服务器取数据库连接的方式都是...
阅读全文
摘要:1、连接池模型本文讨论的连接池包括一个连接池类(DBConnectionPool)和一个连接池管理类 (DBConnetionPoolManager)。——连接池类是连接的“缓冲池”:①从连接池获取或创建可用连接;② 使用完毕之后,把连接返还给连接池;③在系统关闭前,断开所有连接并释放连接占用的系统...
阅读全文
摘要:【http://shift-alt-ctrl.iteye.com/blog/1967020】关于JDBC中关于Connection的两个疑问:1.Connection实例是线程安全的吗? 即一个connection实例,在多线程环境中是否可以确保数据操作是安全的?private static Co...
阅读全文
摘要:——连接池用什么数据结构实现?——实现连接池的代码——线程安全问题【数据库连接池的设计思路及java实现】【 http://blog.csdn.net/shijinupc/article/details/7836129】【Java的JDBC数据库连接池实现方法】【 http://developer....
阅读全文
摘要:【MySQL如何实现分布式事务】http://www.linuxidc.com/Linux/2013-10/91925.htmInnodb存储引擎支持XA事务,通过XA事务可以支持分布式事务的实现。分布式事务指的是允许多个独立的事务资源(transac tional resources)参与一个全...
阅读全文
摘要:锁(locking) 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外...
阅读全文
摘要:【http://blog.csdn.net/stormbjm/article/details/12033673】见《数据库系统概念》P323.【从B树、B+树、B*树谈到R 树】【http://blog.csdn.net/v_JULY_v/article/details/6530142/】【B-树 ...
阅读全文
摘要:【InnoDB和MyISAM区别】【http://jeck2046.blog.51cto.com/184478/90499】 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而In...
阅读全文
摘要:在MySQL中对于使用表级锁定的存储引擎,表锁定时不会死锁的。这通过总是在一个查询开始时立即请求所有必要的锁定并且 总是以同样的顺序锁定表来管理。 对WRITE,MySQL使用的表锁定方法原理如下: ◆ 如果在表上没有锁,在它上面放一个写锁。 ◆否则,把锁定请求放在写锁定队列中。对READ,My...
阅读全文
摘要:事务处理和并发性1.1 基础知识和相关概念1 )全部的表类型都可以使用锁,但是只有 InnoDB 和 BDB 才有内置的事务功能。2 )使用 begin 开始事务,使用 commit 结束事务,中间可以使用 rollback 回滚事务。3 )在默认情况下, InnoDB 表支持一致读。4 )如果多个...
阅读全文
摘要:攻击者把SQL命令插入到Web表单的输入域,或者页面请求的查询字符串中,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这种表单很容易受到攻击。【防范方法】——替换单引号。——删除所有连字符。——对执行查询的数据库账户,限...
阅读全文
摘要:第一范式(1NF)所谓第一范式(1NF)是指在关系模型中,对域添加的一个规范要求,所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。即实体中的某个属性有多个值时,必须拆分为不同的属性。在符合第一范式(1NF)表中的每个域值只能是实体的一个属...
阅读全文
摘要:【http://www.cstor.cn/textdetail_9146.html】 一般而言,slave相对master延迟较大,其根本原因就是slave上的复制线程没办法真正做到并发。简单说,在master上是并发模式(以InnoDB引擎为主)完成事务提交的,而在slave上,复制线程只有一个...
阅读全文
摘要:【http://www.jb51.net/article/50053.htm】MySQL数据库的高可用性架构:集群,读写分离,主备。而后面两种都是通过复制来实现的。下面将简单介绍复制的原理及配置,以及一些常见的问题。【优点】1、如果主服务器出现问题,可以快速切换到从服务器提供的服务2、可以在从服务器...
阅读全文
摘要:《高性能MySQL》(第3版)讲解MySQL如何工作,为什么如此工作? MySQL系统架构、设计应用技巧、SQL语句优化、服务器性能调优、系统配置管理和安全设置、监控分析,以及复制、扩展和备份/还原等主题 schema设计 索引优化 查询优化 事务 【扩展应用】集群:复制-备份-恢复...
阅读全文
摘要:http://jingyan.baidu.com/article/d5c4b52bc97e06da560dc5fc.html【问题:Hibernate 插入中文为乱码】http://blog.csdn.net/peditable/article/details/70475731、首先需要修改mysq...
阅读全文
摘要:【共享锁】【读锁】共享锁(Share locks 简记为S锁)【独占锁】(事务结束释放)【写锁】排它锁(Exclusive locks 简记为X锁)【更新锁】(避免共享锁的死锁情况)【封锁协议 】 1 级封锁协议是:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。事务结束包括正常结束(...
阅读全文
摘要:【并发读问题】【第一类更新丢失】撤销时,覆盖更新数据。【脏读】读到未提交的更新。待定状态。【虚读】其他事务已提交的插入数据。事务T1读取某一数据后,事务T2对其做了修改,当事务T1再次读该数据时得到与前一次不同的值。【不可重复读】未避免“随时更新”。一个事务对同一行数据重复读取两次,但是却得到了不同...
阅读全文

浙公网安备 33010602011771号