1、MyISAM 使用B+Tree 作为索引结构,叶子节点的data存放指针,也就是记录的地址。对于主键索引和辅助索引都是一样的。2、InnoDB 也使用B+Tree作为索引结构,也别需要注意的是,对于主键索引,InnoDB 使用聚集索引,InnoDB的数据文件本身就是就是索引文件。而MyISAM,...
分类:
数据库 时间:
2015-07-12 20:14:11
阅读次数:
150
第一次写存储过程,写得好憋屈。 ``` set @c_db := (select database()); drop procedure if exists alter_tables_engine; delimiter // create procedure alter_tables_engine() begin declare db varchar(64); ...
分类:
数据库 时间:
2015-07-12 15:56:42
阅读次数:
168
什么是存储引擎以及myisam与innodb区别...
分类:
数据库 时间:
2015-07-11 16:52:35
阅读次数:
182
InnoDB和MySQL的一些曲折历史: - InnoDB引擎是由InnobaseOy公司开发。 - 2001年,Innobase公司开始与MySQL AB公司进行合作并开源InnoDB存储引擎的代码。 - Oracle公司在2005年以迅雷不及掩耳之势收购了Innobase公...
分类:
数据库 时间:
2015-07-10 20:56:57
阅读次数:
368
场景1:db内存1.5G,业务很少,平时qps不到10,每天凌晨5点到9点内存使用飙升到100%,内存100%时qps有个激增到20,cpu使用率也有激增
解决方法
1 查看缓冲池大小是900M
mysql> show variables like '%innodb_buffer_pool_size%';
+-------------------------+-----------...
分类:
其他好文 时间:
2015-07-10 15:27:27
阅读次数:
183
接上一篇文章,最后做的那个实验,我是想证明mysql innodb存储引擎,commit操作与flush数据到磁盘之间的关系,当与同事交流之后,他说,你应该把innodb_buffer_size的大小考虑到里面,其实我是有考虑的,在开始的部分就有做过假设,假如buffer大小为1G,数据大小为2G,那么在进行事务插入操作时,势必是要在commit操作之前,将缓存数据进行写入磁盘的吧。再者而言,接上篇...
分类:
数据库 时间:
2015-07-10 15:25:16
阅读次数:
172
btr_cur_optimistic_insert{
...
/*检查分裂页时是否有足够的空间预留给未来记录的update*/
if (leaf && !zip_size && dict_index_is_clust(index)
&& page_get_n_recs(page) >= 2
&& dict_index_get_spa...
分类:
数据库 时间:
2015-07-10 00:29:36
阅读次数:
188
一、MySQLGalera介绍MySQL/Galera是MySQL/InnoDB的多主集群,有以下特性:1)同步复制2)Active-active的多主拓扑结构3)集群任意节点可以读和写4)自动身份控制,失败节点自动脱离集群5)自动节点接入6)真正的基于”行”级别和ID检查的并行复制7)无单点故障,易扩展2、架构图二..
分类:
数据库 时间:
2015-07-09 14:56:11
阅读次数:
588
setautocommit=0;createtablet(idint);insertintotvalues(1);第二个敞口:setautocommit=1;select*fromt;没有记录第一个窗口。commit;第二个敞口:select*fromt;有数据。select@@innodb_buffer_pool_size/1024/1024;单位:字节降低磁盘IO。默认是8MB。缓存读信息。select@@inno..
分类:
数据库 时间:
2015-07-09 14:55:26
阅读次数:
393
InnoDB引擎的行锁是通过加在什么上完成(或称实现)的?为什么是这样子的通过 行多版本控制 MyISAM Innodb事物支持 : 不支持 支持锁的粒度: table Row存储容量: 没有上限 6...
分类:
数据库 时间:
2015-07-09 00:40:22
阅读次数:
172