摘要: 主从数据校验使用percona-toolkit工具集的以下两个工具(主库上使用): pt-table-checksum #检查主从数据是否一致, pt-table-sync #把主库数据同步到从库 适用场景如下: 1). 数据迁移前后进行数据一致性检查 2). 当主从复制出现报错中断或者主从数据出现 阅读全文
posted @ 2016-01-31 12:26 xiaoboluo768 阅读(2294) 评论(0) 推荐(0) 编辑
摘要: 注:以下内容为根据《高性能mysql第三版》和《mysql技术内幕innodb存储引擎》的innodb status部分的个人理解,如果有错误,还望指正!! innodb存储引擎在show engine innodb status(老版本对应的是show innodb status)输出中,显示除了 阅读全文
posted @ 2016-01-30 17:56 xiaoboluo768 阅读(36103) 评论(4) 推荐(7) 编辑
摘要: 1.冗余和重复索引 mysql允许在相同列上创建多个索引,无论是有意还是无意,mysql需要单独维护重复的索引,并且优化器在优化查询的时候也需要逐个地进行考虑,这会影响性能。重复索引是指的在相同的列上按照相同的顺序创建的相同类型的索引,应该避免这样创建重复所以,发现以后也应该立即删除。但,在相同的列 阅读全文
posted @ 2016-01-28 18:04 xiaoboluo768 阅读(5089) 评论(0) 推荐(0) 编辑
摘要: myisam使用前缀压缩来减少索引的大小,从而让更多的索引可以放入内存中,默认只压缩字符串,但通过参数配置也可以对整数做压缩,myisam压缩每个索引块的方法是,先完全保存索引块中的第一个值,然后将其他值和第一个值进行比较得到相同前缀的字节数(长度)和剩余的不同后缀部分(即把相同部分去掉),把这部分 阅读全文
posted @ 2016-01-28 17:14 xiaoboluo768 阅读(1857) 评论(0) 推荐(0) 编辑
摘要: mysql有两种方式可以生成有序的结果,通过排序操作或者按照索引顺序扫描,如果explain的type列的值为index,则说明mysql使用了索引扫描来做排序(不要和extra列的Using index搞混了,那个是使用了覆盖索引查询)。扫描索引本身是很快的,因为只需要从一条索引记录移动到紧接着的 阅读全文
posted @ 2016-01-28 17:04 xiaoboluo768 阅读(5213) 评论(0) 推荐(0) 编辑
摘要: 聚簇索引并不是一种单独的索引类型,而是一种数据存储方式(不是数据结构,而是存储结构),具体细节依赖于其实现方式,但innodb的聚簇索引实际上是在同一个结构中保存了btree索引和数据行。 当表有索引时,它的数据行实际上存放在索引的叶子页中,属于聚簇表示数据行和相邻的键值紧凑地存储在一起,因为无法同 阅读全文
posted @ 2016-01-28 11:48 xiaoboluo768 阅读(11197) 评论(4) 推荐(1) 编辑
摘要: btree索引: 如果没有特别指明类型,多半说的就是btree索引,它使用btree数据结构来存储数据,大多数mysql引擎都支持这种索引,archive引擎是一个例外,5.1之前这个引擎不支持任何索引,5.1开始才支持单列自增的索引。innodb使用b+tree=btree(btree已经不使用了 阅读全文
posted @ 2016-01-27 19:29 xiaoboluo768 阅读(23351) 评论(0) 推荐(3) 编辑
摘要: 5.1版本开始引入show profile剖析单条语句功能,支持show profiles和show profile语句,参数have_profiling;控制是否开启:查看是否支持这个功能(查询为yes表示支持):mysql > show variables like 'have_profilin... 阅读全文
posted @ 2016-01-25 16:49 xiaoboluo768 阅读(2990) 评论(0) 推荐(0) 编辑
摘要: 有很多方法可以将表的存储引擎转换成另外一种引擎,每种方法都各有优缺点:A:alter table将表从一个引擎直接改为另外一个引擎最简单的办法alter table tb_name engine=innodb;要注意:这种方法需要执行很长的时间,mysql会按行将数据从原表复制到另外一张新表中,在复... 阅读全文
posted @ 2016-01-23 15:18 xiaoboluo768 阅读(2067) 评论(0) 推荐(0) 编辑
摘要: 以下为个人理解,如有错误,还望指正!!mysql的大多数事务型存储引擎实现的都不是简单的行级锁,基于提升并发性能的考虑,他们一般都同时实现了多版本并发控制,可以认为MVCC是行级锁的一个变种,但是它在很多情况下避免了加锁操作,因此开销更低,虽然实现机制有所不同,但大都实现了非阻塞的读操作,写操作也只... 阅读全文
posted @ 2016-01-22 21:16 xiaoboluo768 阅读(3499) 评论(0) 推荐(0) 编辑