1.innodb核心特性 MVCC 事务 行级锁 #innodb支持行级锁,myiasm支持表级锁 热备份 #innodb支持热备,myisam不支持热备 自动故障恢复 Crash Safe Recovery 2.存储引擎相关命令 1.查看当前数据库配置的存储引擎 mysql> SELECT @@d ...
分类:
数据库 时间:
2020-07-20 22:50:45
阅读次数:
92
5.5版本以后出现共享表空间概念 表空间的管理模式的出现是为了数据库的存储更容易扩展 5.6版本中默认的是独立表空间 1.共享表空间(ibdata1) 1.存储的内容 1.系统数据 2.undo redo、undo日志,事务日志 3.临时表 2.概念 1.优点: 可以将表空间分成多个文件存放到各个磁 ...
分类:
数据库 时间:
2020-07-20 22:49:20
阅读次数:
94
前面一文 mysql锁 介绍了mysql innodb存储引擎的各种锁,本文介绍一下innodb存储引擎的间隙锁,就以下问题展开讨论 1.什么是间隙锁?间隙锁是怎样产生的? 2.间隙锁有什么作用? 3.使用间隙锁有什么隐患? 一、间隙锁的基本概念 1.什么叫间隙锁 当我们用范围条件而不是相等条件检索 ...
分类:
数据库 时间:
2020-07-07 09:27:02
阅读次数:
69
参考文章:https://blog.csdn.net/puhaiyang/article/details/72284702 一.mysql锁的结构图 如上图所示,针对mysql的innodb存储引擎,mysql锁包括了乐观锁和悲观锁。而悲观锁又包括共享锁和排它锁,共享锁/排它锁里又有行锁和表锁的实现 ...
分类:
数据库 时间:
2020-07-07 09:20:07
阅读次数:
71
MySQL应用 1 MySQL技术内幕:InnoDB存储引擎 学习MySQL的使用,首推姜承尧的《MySQL技术内幕:InnoDB存储引擎》,当然不是因为姜sir是我的经理才推荐这本书。这本书确实做到了由渐入深、深入浅出,是中国人写的最赞的MySQL技术书籍,符合国人的思维方式和阅读习惯,而且,这本 ...
分类:
数据库 时间:
2020-07-05 01:03:48
阅读次数:
112
对于使用InnoDB存储引擎的表来说,它的聚簇索引记录中都包含两个必要的隐藏列: trx_id:每次一个事务对某条聚簇索引记录进行改动时,都会把该事务的事务id赋值给trx_id隐藏列。 roll_pointer:每次对某条聚簇索引记录进行改动时,都会把旧的版本写入到undo日志中,然后这个隐藏列就 ...
分类:
Web程序 时间:
2020-06-29 13:30:24
阅读次数:
84
前言 每个索引都对应一棵B+树,B+树分为好多层,最下边一层是叶子节点,其余的是内节点。所有用户记录都存储再B+树的叶子节点,所有目录项记录都存储在内节点。 InnoDB存储引擎会自动为主键建立聚簇索引,聚簇索引的叶子节点包含完整的用户记录 我们可以根据自己的兴趣建立二级索引,二级索引的叶子节点包含 ...
分类:
数据库 时间:
2020-06-15 20:57:21
阅读次数:
62
事务的任务是保证一系列更新语句的原子性,锁的任务是解决并发访问可能导致的数据不一致问题。如果事务与事务之间存在并发操作,此时可以通过隔离级别实现事务的隔离性,从而实现数据的并发访问。 1 原子性(Atomicity) 原子性是指事务是一个不可分割的工作单位,事务中的操作要么全部成功,要么全部失败。比 ...
分类:
数据库 时间:
2020-06-10 13:19:00
阅读次数:
80
在MySQL 5.6.6版本以前,MySQL默认会把所有的innodb的表都放在同一个文件中(ibdata1),当该文件过大的时候,MySQL容易出错,维护性能差。 1 简介 Innodb存储引擎可将所有数据存放于ibdata*的共享表空间,也可将每张表存放于独立的.ibd文件的独立表空间。 共享表 ...
分类:
其他好文 时间:
2020-06-08 14:21:40
阅读次数:
65
MySQL表设计有一些比较重要的点,面试的时候常常会被问到。 为什么一定要设置一个主键? 在不设置主键的情况下,InnoDB存储引擎会帮你生成一个隐藏列作为自增主键。因此,手动指定主键可以为以后的维护带来便利,比如说在自定义主键上建立主键索引来提高查询效率。 主键是用自增还是随机(UUID)? 主键 ...
分类:
数据库 时间:
2020-06-05 00:44:41
阅读次数:
126