关系数据库依赖于主键,它是数据库物理模式的基石。主键在物理层面上只有两个用途: 惟一地标识一行。 作为一个可以被外键有效引用的对象。 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。下面是主键和索引的一些区别与联系。 1. 主键一定是 ...
分类:
数据库 时间:
2020-02-14 10:38:54
阅读次数:
69
庚子鼠年 戊寅月 丙戌日 描述 数据库引擎的了解,Mybatis多表查询 技术总结: "https://blog.csdn.net/qq_40674583/article/details/104303340" 随笔 MySQL 引擎 1.InnoDB存储引擎 1. InnoDB给MySQL的表提供了 ...
分类:
其他好文 时间:
2020-02-13 23:07:28
阅读次数:
93
封锁粒度 MySQL提供了两种封锁粒度:行级锁、表级锁 应该尽量只锁定需要修改的那部分数据,而不是所有的资源。 锁定的数据量越少,发生锁争用的可能性就越小,系统的并发程度就越高。 但是加锁需要消耗资源,锁的各种操作(获取锁、释放锁、检查锁状态)都会增加系统开销。 因此封锁粒度越小,系统开销就越大。 ...
分类:
数据库 时间:
2020-02-13 19:34:32
阅读次数:
93
一、上节回顾 上节我们讲到,建议将 的刷盘策略设置为1:即提交事务时,强制将 里的 刷入到磁盘后才算事务提交成功。 但是我们都知道, 是 InnoDB 存储引擎的组件,而 MySQL 支持很多种存储引擎,那么 MySQL 在撇除存储引擎后,自己就没有记录一下关于数据更新的日志吗? 二、binlog ...
分类:
数据库 时间:
2020-02-13 16:54:42
阅读次数:
88
一、什么是存储引擎? 存储引擎就是表的类型 二、查看MySQL支持的存储引擎 show engines; 三、指定表类型(即存储引擎) create table t1(id int)engine='innodb'; create table t2(id int)engine=memory; crea ...
分类:
其他好文 时间:
2020-02-12 18:20:59
阅读次数:
59
1.创建表:注意:` ` ' ' , 三种符号 if not exists primary key(`id`)engine= innodb charset=utf8 create table if not exists `stu`( `id` int(4) auto_increment commen ...
分类:
数据库 时间:
2020-02-12 16:14:29
阅读次数:
87
InnoDB存储引擎物理存储结构 共享表空间 独立表空间 查看是否开启独立表空间 表空间迁移 虽然 t2.ibd 还在,但是 mysql 无法识别 处理方式: 在 mysql 中重建一个相同表结构的 tmp 表 CREATE TABLE ( int(11) DEFAULT NULL ) ENGINE ...
分类:
数据库 时间:
2020-02-12 16:08:00
阅读次数:
73
# 存储引擎 -- 存储数据的方式# 一张表 # 数据 # 表的结构 # 索引(查询的时候使用的一个目录结构)# Innodb存储引擎 mysql5.6之后的默认的存储引擎# 数据和索引存储在一起 2个文件 # 数据索引\表结构# 数据持久化# 支持事务 : 为了保证数据的完整性,将多个操作变成原子 ...
分类:
编程语言 时间:
2020-02-12 14:42:39
阅读次数:
57
1. 结论首先说结论,在RR的隔离级别下,Innodb使用MVVC和next-key locks解决幻读,MVVC解决的是普通读(快照读)的幻读,next-key locks解决的是当前读情况下的幻读。 2. 幻读是什么事务A,先执行: update table set name=“hh” wher ...
分类:
数据库 时间:
2020-02-12 12:45:46
阅读次数:
67
MyISAM 和 InnoDB区别: 常规的使用操作: 1、MyISAM 节约空间,速度快 2、InnoDB 安全性高,事务的处理,多表操作。InnoDB表的每行数据都保存在主索引的叶子节点上。因此所有的InnoDB表必须包含主键,如果创建表的时候,没有显示指定主键,那么InnoDB存储引擎会创建一 ...
分类:
数据库 时间:
2020-02-11 19:28:35
阅读次数:
81