Mysql存储引擎MyISAM与InnoDB - B+树数据的增删细节 Mysql存储引擎MyISAM与InnoDB - B+树数据的增删细节 前言Mysql索引文件的存储结构 1. InnoDB - B+Tree,叶子节点直接放置数据1.2 回表 2. MyISAM--B+Tree,叶子节点放置数 ...
分类:
数据库 时间:
2021-03-15 10:53:32
阅读次数:
0
一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎: 连接器连接上之后show processlist里可见,无动作在wait_timeout之后断开 查询缓存失效频繁,只要表上有更新操作则失效,除非是配置表之类的,否则不推荐打开 更新操作涉及:redo lo ...
分类:
数据库 时间:
2021-03-03 11:49:58
阅读次数:
0
1.创建超级管理员账户,超级管理员必须在admin下创建,这个超级管理员账户可以访问所有的数据库 use admin db.createUser({ user:'admin', pwd: '123456', roles:[{role:'root', db: 'admin'}] }) 2.修改Mong ...
分类:
数据库 时间:
2021-02-23 14:02:37
阅读次数:
0
在尝试编写快速的查询之前,需要清楚一点,正在重要的是响应时间。如果把查询看做一个任务,那么他由一系列子任务组成,每个子任务都会消耗一定的时间。如果要优化查询,实际上要优化其子任务,要么消除其中一些子任务,要么减少子任务的执行速度,要么让子任务运行更快 Mysql在执行查询有哪些子任务,哪些子任务运行 ...
分类:
数据库 时间:
2021-02-22 12:00:23
阅读次数:
0
1、sql规范 库名、表名、字段名,必须使用小写字母,不得超过30个字符 库名、表名、字段名,必须尽量见名知意,使用下划线分割,禁止使用mysql保留字 建表时表必须有主键,使用bigint unsigned类型,并使用auto_increment自增标记 所有字段及表都必须有注释,存储引擎必须使用 ...
分类:
数据库 时间:
2021-01-30 12:04:05
阅读次数:
0
下文所讲的内容是从 SQL 层面展开的,而不是针对某种特定的数据库,也就是说,下文的内容基本上适用于任何关系型数据库 但是,关系型数据库那么多,逐一来演示示例了,显然不太现实;我们以常用的 MySQL 来进行示例的演示 MySQL 版本: 5.7.30-log ,存储引擎: InnoDB 准备两张表 ...
分类:
数据库 时间:
2021-01-22 11:44:10
阅读次数:
0
日志 undo log(回滚) 保存了事务发生之前的数据的一个版本,可以用于回滚,同时可以提供多版本并发控制下的读(MVCC),也即非锁定读 redo log(持久性) 重做日志是在事务开始之后逐步写入重做日志文件,而不一定是事务提交才写入重做日志。确保事务的持久性 存储引擎 InnoDB 支持事务 ...
分类:
数据库 时间:
2021-01-19 12:08:22
阅读次数:
0
索引基础 索引,又叫key(键) 在mysql中,存储引擎先在索引中找到检索的内容,然后根据索引结果找到对应的数据行 索引可以包含一个或多个列的值,如果索引包含多个列,那么列的顺序十分重要,因为mysql只能高效的使用索引的最左前缀列 最左前缀列就是KEY(id, name, sex),id在id、 ...
分类:
其他好文 时间:
2021-01-07 11:49:38
阅读次数:
0
InnoDB 行锁 行锁介绍 行锁特点 :偏向InnoDB 存储引擎,开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 InnoDB 与 MyISAM 的最大不同有两点:一是支持事务;二是 采用了行级锁。 InnoDB 的行锁模式 InnoDB 实现了以下两种类型的行锁 ...
分类:
数据库 时间:
2020-12-25 12:29:38
阅读次数:
0
多个层面思考,优化性能 存储层:存储引擎、字段类型选择、范式设计 设计层:索引、缓存、分区(分表) 架构层:多个mysql服务器设置,读写分离(主从模式) sql语句层:多个sql语句都可以达到目的的情况下,要选择性能高、速度快的sql语句 show engine/G; 显示数据库的使用引擎 1.存 ...
分类:
数据库 时间:
2020-12-19 11:48:14
阅读次数:
1