1. InnoDB存储引擎索引: B+树索引;全文索引;哈希索引 InnoDB引擎支持的哈希索引是自适应的,InnoDB存储引擎会根据表的使用情况自动为表生成哈希索引,不能人为干预是否在一张表中生成哈希索引。 B+树索引,根据键值快速找到数据。B+树索引并不能找到一个给定键值的具体行,B+树索引能找 ...
分类:
数据库 时间:
2020-03-23 00:08:08
阅读次数:
70
mysql innodb存储引擎 概要 1. 索引结构类型 1. 聚簇索引 1. 主键, 叶子节点包含数据行 2. 非聚簇索引 1. 索引列, 叶子节点为主键 2. 使用非聚簇索引时,先通过索引列查询到主键,再通过聚簇索引查询到数据行 3. 也成为第二索引 3. 覆盖索引 1. 如果select语句 ...
分类:
数据库 时间:
2020-03-04 18:58:02
阅读次数:
62
本文源码:GitHub·点这里||GitEE·点这里一、MySQL逻辑架构1、逻辑架构图基于下面的逻辑架构图,可以大致熟悉MySQL各个架构组件之间的协同工作关系。很经典的C/S架构风格,即客户端/服务端模式。2、分层描述客户端连接通常会进行连接池管理,连接用户权限认证,安全管理等操作。可以通过如下命令查看连接配置信息:SHOWVARIABLESLIKE‘%connect%‘;可以
分类:
数据库 时间:
2020-03-03 09:16:29
阅读次数:
103
一般来说,第三方存储引擎介绍都会说自己比官方强很多,但是实际 上,只是在某一方面超过官方存储引擎。 实际应用中,99.99%情况都要选innodb存储引擎。而且innodb存储引擎和oralce 是比较类似的。 Mysql默认的存储引擎也是innodb,除innodb外,其它存储引擎都不支持事务。 ...
分类:
数据库 时间:
2020-02-25 18:22:54
阅读次数:
77
MySQL 几大部分:存储引擎、索引、事务、锁 MySQL的MyISAM和InnoDB存储引擎的区别是啥? myisam,不支持事务,不支持外键约束,索引文件和数据文件分开,这样在内存里可以缓存更多的索引,对查询的性能会更好,适用于那种少量的插入,大量查询的场景。 innodb,主要特点就是支持事务 ...
分类:
数据库 时间:
2020-02-25 18:18:00
阅读次数:
274
一、缓冲池(Buffer Pool)的地位 在《 "MySQL 学习总结 之 InnoDB 存储引擎的架构设计" 》中,我们就讲到,缓冲池是 InnoDB 存储引擎中最重要的组件。因为为了提高 MySQL 的并发性能,使用到的数据都会缓存在缓冲池中,然后所有的增删改查操作都将在缓冲池中执行。 通过这 ...
分类:
数据库 时间:
2020-02-18 20:56:39
阅读次数:
100
军规适用场景:并发量大、数据量大的互联网业务; 军规:介绍内容; 解读:讲解原因,解读比军规更重要 一、基础规范 1.必须使用InnoDB存储引擎, 解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 2.必须使用UTF8字符集, 解读:万国码,无需转码,无乱码风险,节省 ...
分类:
其他好文 时间:
2020-02-18 09:59:49
阅读次数:
78
在大的分类上:mysql schema包括存储数据库对象元数据的数据字典表和用于其他操作目的的系统表 数据字典表和系统表一般使用InnoDB存储引擎 与之前的版本不同,数据字典表和系统表存储在数据目录下的一个名为mysql.idb的InnoDB表空间里 数据字典表 数据字典是在MySQL 8.0中添 ...
分类:
数据库 时间:
2020-02-16 20:23:22
阅读次数:
118
死锁的概念 死锁是指两个或者两个以上的事务在执行过程中,因争夺锁资源而造成的一种互相等待的现象。 解决死锁问题最简单的一种方法是超时,即当两个事务互相等待时,当一个等待时间超过设置的某一阀值时,其中一个事务进行回滚,另一个等待的事务就能继续进行。在InnoDB存储引擎中,参数Innodb_lock_ ...
分类:
数据库 时间:
2020-02-15 23:42:38
阅读次数:
131
缓冲区池相关 innodb_flush_log_at_trx_commit (双一标准之一) 主要控制了 innodb 将 log buffer 中的数据写入日志文件并 flush 磁盘的时间点,取值分别为0、1、2三个。 Innodb_flush_method=(O_DIRECT, fdatasy ...
分类:
数据库 时间:
2020-02-15 23:36:32
阅读次数:
110