便于理解mysql内幕的各种逻辑图组 http://blog.sina.com.cn/s/blog_445e807b0101ggtl.html 以下是个人一直以来从网络等各种途径收集到的一些对理解mysql有重要意义的图,现共享给大家,共同学习,希望能够为您更好的理解mysql的各种内幕有所帮助,废话不多说,直接上图: 1,顶顶有名的官方mysql架构图,理解mysql整体机构必不可少 2,更直观性mysql整体逻辑机构图: f3,innodb引擎架构图,对理解innodb内部结构大有裨益 f…
事务是MySQL等关系型数据库区别于NoSQL的重要方面,是保证数据一致性的重要手段.本文将首先介绍MySQL事务相关的基础概念,然后介绍事务的ACID特性,并分析其实现原理. MySQL博大精深,文章疏漏之处在所难免,欢迎批评指正. 一.基础概念 事务(Transaction)是访问和更新数据库的程序执行单元:事务中可能包含一个或多个sql语句,这些语句要么都执行,要么都不执行.作为一个关系型数据库,MySQL支持事务,本文介绍基于MySQL5.6. 首先回顾一下MySQL事务的基础知识. 1…
    深入理解mysql之BDB系列(1) ---BDB相关基础知识 作者:杨万富   一:BDB体系结构 1.1.BDB体系结构 BDB总体的体系结构如图1.1所看到的,包括五个子系统(见图1.1中相关数).1)数据存取子系统,2)事务子系统,3)锁子系统,4)内存池管理子系统,5)日志子系统. 在一个应用程序中,并不一定须要全然具备这5大子系统. 假设程序仅仅使用了数据存取子系统,它的体系结构如图1.2.在图1.2中,我们仅仅使了两个子系统:数据存取以及内存池子系统.(备注:另外三个子系统…
按锁思想分类 悲观锁 优点:适合在写多读少的并发环境中使用,虽然无法维持非常高的性能,但是在乐观锁无法提更好的性能前提下,可以做到数据的安全性 缺点:加锁会增加系统开销,虽然能保证数据的安全,但数据处理吞吐量低,不适合在读书写少的场合下使用 乐观锁 优点:在读多写少的并发场景下,可以避免数据库加锁的开销,提高DAO层的响应性能,很多情况下ORM工具都有带有乐观锁的实现,所以这些方法不一定需要我们人为的去实现. 缺点:在写多读少的并发场景下,即在写操作竞争激烈的情况下,会导致CAS多次重试,冲突频…
转自:http://blog.csdn.net/zhoudaxia/article/details/26454421/ 每个Java开发者都知道Java字节码是执行在JRE((Java Runtime Environment Java运行时环境)上的.JRE中最重要的部分是Java虚拟机(JVM),JVM负责分析和执行Java字节码.Java开发人员并不需要去关心JVM是如何运行的.在没有深入理解JVM的情况下,许多开发者已经开发出了非常多的优秀的应用以及Java类库.不过,如果你了解JVM的话…
转自:理解MySQL——索引与优化 写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点.考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录.如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),则总共需要100s(但实际上要好很多很多).如果对之建立B-Tr…
转自:http://www.importnew.com/1486.html 每个Java开发者都知道Java字节码是执行在JRE((Java Runtime Environment Java运行时环境)上的.JRE中最重要的部分是Java虚拟机(JVM),JVM 负责分析和执行Java字节码.Java开发人员并不需要去关心JVM是如何运行的.在没有深入理解JVM的情况下,许多开发者已经开发出了非常多的优秀 的应用以及Java类库.不过,如果你了解JVM的话,你会更加了解Java的,并且你会轻松解…
深入理解MySQL开发性能优化.pptx,依旧上传baidu pan http://pan.baidu.com/s/1jIwGslS,视频暂未出,培训完成后会更新.…
本篇深入了解查询优化和服务器的内部机制,了解MySql如何执行特定查询,从中也可以知道如何更改查询执行计划,当我们深入理解MySql如何真正地执行查询,明白高效和低效的真正含义,在实际应用中就能扬长避短. 声明:本人使用的数据库版本为MySql 5.1 一.基本原则:优化数据访问 查询性能低下的最基本原因就是访问了太多数据,一些查询要不可避免地筛选大量的数据,大部分性能欠佳的查询都可以用减少数据访问的方式进行优化. 1.首先分析应用程序是否正在获取超过需要的数据,这通常表现在获取了过多的行或列.…
Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select for update/lock in share mode 对事务并发性影响 Mysql加锁过程详解(5)-innodb 多版本并发控制原理详解 Mysql加锁过程详解(6)-数据库隔离级别(1) Mysql加锁过程详解(6)-数据库隔离级别(2)-通过例子理解事务的4种隔离级别 Mysql加锁过程详解…