InnoDB作为mysql数据库最常用的存储引擎,自然包含了其独有的很多特性。如相比于memory、MyISAM引擎,InnoDB支持行级锁、事务等都是比较重要的特性。 本文将盘点下InnoDB处理事务和行级锁之外的高级特性 一、自适应哈希 innodb建立索引时,只可以建立B+tree索引,是不可 ...
分类:
数据库 时间:
2019-07-29 00:18:32
阅读次数:
126
django中使用事务 一、导入事务模块 二、对相应的业务进行事务操作 1. 方式一:为整个函数进行事务操作 2. 方式二:为部分代码进行事务操作 好了,上面就是关于django中使用事务的方式 不过这里还是得提醒一下,mysql中INNODB存储引擎是支持事务的,MyISAM是不支持的! 所以我们 ...
分类:
编程语言 时间:
2019-07-22 18:44:12
阅读次数:
102
一、分类 MySQL的锁机制不同的存储引擎支持不同的锁机制,分为表级锁、行级锁、页面锁。MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-level locking),但也支持表级锁;InnoDB存储引擎既支持行级锁( ...
分类:
数据库 时间:
2019-07-19 20:28:55
阅读次数:
97
InnoDB存储引擎的关键特性包括插入缓冲、两次写(double write)、自适应哈希索引(adaptive hash index)。这些特性为InnoDB存储引擎带来了更好的性能和更高的可靠性。 插入缓冲 插入缓冲是InnoDB存储引擎关键特性中最令人激动的。不过,这个名字可能会让人认为插入缓 ...
分类:
数据库 时间:
2019-06-30 16:01:35
阅读次数:
140
无主键表 在Innodb存储引擎中,每张表都会有主键,数据按照主键顺序组织存放,该类表成为索引组织表 Index Ogranized Table 如果表定义时没有显示定义主键,则会按照以下方式选择或创建主键: 如果主键索引只有一个索引键,那么可以使用_rowid来显示主键,如: 可以发现,上面的_r ...
分类:
数据库 时间:
2019-06-17 01:03:11
阅读次数:
139
Mysql支持对MyISAM进行表级锁定,对InnoDB存储引擎支持行级锁定。 LOCK TABLES可以锁定用于当前线程的表,如果表被其他线程锁定,则当前线程会等待,直到可以获取所有锁定为止。 UNLOCK TBALES可以释放当前线程获得的任何锁定,当前线程执行另一个LOCK TABLES时,或 ...
分类:
数据库 时间:
2019-06-10 22:30:05
阅读次数:
159
首先,我们知道在MySQL中,二进制日志是server层的,主要用来做主从复制和即时点恢复时使用的。而事务日志(redo log)是InnoDB存储引擎层的,用来保证事务安全的。现在我们来讨论一下MySQL主从复制过程中的一些细节问题,有关于主从复制可以看具体的章节。 在了解了以上基础的内容后,我们 ...
分类:
数据库 时间:
2019-05-21 14:38:08
阅读次数:
157
一、基础规范 1)必须使用InnoDB存储引擎 (2)必须使用UTF8字符集 (3)数据表、数据字段必须加入中文注释 (4)禁止使用存储过程、视图、触发器、Event 5)禁止存储大文件或者大照片 二、命名规范 (6)只允许使用内网域名,而不是ip连接数据库 (7)线上环境、开发环境、测试环境数据库 ...
分类:
数据库 时间:
2019-05-19 23:30:48
阅读次数:
280
Mysql 的InnoDB存储引擎实现的不是简单的行级锁,实现的是MVCC,多版本并发控制,可以理解成行级锁的一个变种。 InnoDB的MVCC是通过在每行纪录后面保存两个隐藏的列来实现的。这两个列,一个是保存了行的创建时间,一个是保存了行的过期时间(删除时间),时间是用的系统的版本号来存储的。 在 ...
分类:
数据库 时间:
2019-04-29 12:55:47
阅读次数:
120