innodb
文章平均质量分 86
repls
这个作者很懒,什么都没留下…
展开
-
对innodb MVCC实现的一点点思考
不得不说MVCC思想对关系数据库的影响很大,读不阻塞写,写也不会阻塞读,大大提高了并发性。当前主流的数据库基本上都实现了MVCC,比如Oracle、MySQL、PostgreSQL等等。现在来谈谈MySQL(innodb)是怎么实现MVCC的,它的优缺点是什么。innodb对MVCC的实现是通过在每个事物开启时创建一个当前系统活跃事务的副本(read_view),然后每次读取行的时候,通过这个行上原创 2012-04-06 23:59:38 · 1896 阅读 · 0 评论 -
innodb_fast_shutdown的内幕
参数innodb_fast_shutdown提醒了我一直没研究过的innodb特性之一——insert buffer。首先简述这个参数,然后谈谈insert buffer的实现。Innodb_fast_shutdown告诉innodb在它关闭的时候该做什么工作。有三个值可以选择:1. 0表示在innodb关闭的时候,需要purge all, merge insert buffer原创 2012-04-06 23:11:51 · 6404 阅读 · 0 评论 -
浅析 innodb next-key lock
record lock:记录锁,也就是仅仅锁着单独的一行gap lock:区间锁,仅仅锁住一个区间(注意这里的区间都是开区间,也就是不包括边界值,至于为什么这么定义?innodb官方定义的)next-key lock:record lock+gap lock,所以next-key lock也就半开半闭区间,且是下界开,上界闭。(为什么这么定义?innodb官方定义的)下面来举个手册上的原创 2012-04-07 10:53:56 · 5744 阅读 · 8 评论 -
浅析Innodb crash recovery
今天想谈谈Innodb crash recovery是因为工作中遇到的两个问题涉及到了它。实际上在何登成的博客也从源码角度分析这个过程,但是个人感觉一般人难得理解,事实上一般的DBA也没有必要做那么深入的研究。言归正传,当初工作中遇到的问题是什么呢?第一,一个同事执行一个大表操作,结果就很长时间没执行完,然后kill掉这个实例(这种做法不好),然后再重启实例时后mysql连上去,发现无法对刚才那个原创 2012-09-10 22:06:57 · 2750 阅读 · 0 评论 -
一个InnoDB 加锁的案例
最近一直在优化各个产品的SQL语句,同时还帮一个同事解决deadlock问题,收获就是对InnoDB加锁的理解更加深入了。先来看看今天的这个案例:mysql> select version();+----------------------+| version() |+----------------------+| 5.5.13.4-log原创 2012-11-05 23:02:43 · 2276 阅读 · 5 评论 -
mysql报错:two many connections/two many open files的解决方法
最近在论坛里面看到有几个朋友都发帖求助,原因是mysql报错:[ERROR] Error in accept: Two many open files。而且这位朋友还说他并没有同时打开这么多文件,那么这是什么原因呢?首先,我们需要了解的是,在linux里面打开文件是以文件描述符(FD,file descripter)的形式打开的,每打开一次文件,那么os就分配给你一个文件描述符,对于同一个原创 2012-04-06 23:17:24 · 2308 阅读 · 0 评论 -
TokuDB6.5与InnoDB(1.1.18)性能对比测试
大家对MySQL存储引擎最熟悉的恐怕就是InnoDB了,InnoDB的性能还算不错,尤其适用互联网应用。但是InnoDB也不能称作完美,尤其是单实例MySQL的性能那还真不敢恭维,现在大多数互联网公司都是通过优秀的架构来弥补这点吧。今天说到的这个MySQL存储引擎单实例性能在特定情况下确实比InnoDB强很多,普通情况下也不差-----TokuDB------完美兼容MySQL。TokuDB是一个原创 2012-11-27 23:43:57 · 2895 阅读 · 0 评论 -
使用tmpfs文件系统做MySQL tmpdir潜在的问题
在前面我写过一篇关于tmpfs和ramfs对比分析的文章。当初也是因为看到有人用/dev/shm(tmpfs)做MySQL tmpdir,于是就去学习了下tmpfs。今天再次谈这个问题是因为使用tmpfs做MySQL tmpdir(以后简称tmpdir)确实还是存在一些问题的,而且在某些特定的Linux 内核版本还会触发bug。今天写篇文章记录一下。 当时的机器环境信息:原创 2013-03-10 21:45:18 · 3258 阅读 · 0 评论 -
Sysbench介绍与使用
最近用sysbench进行了较多的性能测试,也总结一下它的特点和用法和需要注意的事项。sysbench是一个多线程性能测试工具,可以进行CPU/内存/IO/数据库等性能测试。不过我绝大多数的时候都是用它来对数据库(MySQL)进行oltp测试。它能测哪些东西,怎么测让我从它的命令帮助来回答。~/zbs$ sysbench --helpMissing required command原创 2012-11-28 22:39:22 · 4487 阅读 · 0 评论