mysql
文章平均质量分 82
Eocc
这个作者很懒,什么都没留下…
展开
-
Mysql学习6-架构
Mysql架构上来先看Mysql架构图(摘自《MySQL技术内幕 InnoDB存储引擎》)。Mysql主要包括以下组件:连接器 Connectors系统管理&控制工具连接池Sql接口Sql解释器Sql优化器缓存池存储引擎文件系统接下来介绍一下每个组件的简要功能,由于每个组件都可以展开讲很多,这篇文章只会对组件做一个简要的描述,有一个简单的概念。连接器 Connectors...原创 2022-03-05 14:19:18 · 119 阅读 · 0 评论 -
Mysql学习5-InnoDB插入缓存
我们都知道MySql有一个缓存池,但是insert buffer与缓存池不太一样,insert buffer也是物理页的一个组成部分(insert buffer属于缓存池的一部分)。聚集索引(primary key)一般是顺序的,插入的时候不需要随机读取,但是对于辅助索引(非聚集索引),其叶子节点的插入不是顺序的(因为非B+树的特性,导致非顺序的索引插入是离散的),需要离散地读取非聚集索引页,由于随机读取而导致了插入性能下降,如果每次插入都直接更新索引,对性能的影响更大。因此,InnoDB引入了Inser原创 2021-03-07 23:20:17 · 248 阅读 · 0 评论 -
Mysql学习4-InnoDB缓存
InnoDB是基于磁盘存储的,其中的存储记录按照页的方式进行管理,可将其视为基于磁盘的数据系统。由于磁盘读写速度与CPU计算速度之间的鸿沟,InnoDB对数据库的读写操作都要通过缓存来实现。在数据库进行读取操作时,先将从磁盘读取到的数据放到缓存池中,这个过程称为将页“FIX”到缓存池,下一次再读取相同的页时,会先读取缓存中的页,没有命中才读取磁盘。在写操作时,先修改缓存中的页,再以一定的频率刷到磁盘中。1. 缓存池Mysql通过innodb_buffer_pool_size设置InnoDB的缓存池大小:原创 2021-02-21 19:52:12 · 1016 阅读 · 0 评论 -
Mysql学习3-binlog
Mysql数据库的日志可以分为服务层和存储引擎层日志。服务层日志主要包含二进制日志(binlog)、慢查询日志和通用日志;存储引擎层日志(以InnoDB为例)包含重做日志(redolog)和回滚日志(undolog)。binlog中只存储执行成功的日志。binlog的三种格式设置binlog日志格式的参数:set binlog_format=[statement|row|mixed];查看binlog文件:show binary logs;刷新log文件:flush logs;查看b原创 2021-02-21 17:03:53 · 262 阅读 · 0 评论 -
Mysql学习2-服务器参数
查看Mysql服务器读取参数的顺序:mysqld --help --verbose | grep -A 1 'Default options'# 另外,通过启动参数设置的参数的优先级最高设置全局参数:set global name=value;set @@global.name=value;设置会话参数set [session] name=value;set @@session.name=value;查看参数show variables like 'Innodb_log_files原创 2021-02-16 18:44:07 · 175 阅读 · 1 评论 -
Mysql学习1-常用存储引擎的特征
MyISAM的特性表级锁对表中的数据进行修改时,要对表进行加锁;读取表中的数据时要对表加共享锁。读取和写入是互斥的,读取时只能在表末进行插入。不支持事物对MyISAM进行修复会导致数据丢失。存储文件tableName.frm 存储表结构信息tableName.MYD 存储数据信息tableName.MYI 存储索引信息修复表check table tableName;repaire table tableName;使用mysql工具:myisamchk支原创 2021-02-14 19:49:58 · 262 阅读 · 0 评论 -
Mysql创建索引的原则,索引失效的情况,sql调优
Mysql创建索引的原则原创 2019-09-25 21:07:31 · 300 阅读 · 0 评论