- mysql的存储结构
mysql的存储是磁盘存储,和磁盘存储结构类似
表空间(Tablespace),由段空间组成(Segment),每个Segment由扩展(Extent)组成,每个Extent由页(Page)组成,每个Page由行(Row)组成,每个Row分为更细粒度的单元(比如字段),存储的最小单元是页,即16K,Innodb page size 更小。 - 慢日志查询
mysql> show variables like "%slow%";
+---------------------------+--------------------------------------+
| Variable_name | Value |
+---------------------------+--------------------------------------+
| log_slow_admin_statements | OFF |
| log_slow_extra | OFF |
| log_slow_slave_statements | OFF |
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | /data0/mysql/data/localhost-slow.log |
+---------------------------+--------------------------------------+
mysqldumpslow /data0/mysql/data/localhost-slow.log
可以查看详细信息
- mysql的数据字典
mysql相关的数据字典在 information_schema,performence_schema,mysql,sys里面
注意x$开头的是内存表 -
Innodb 的LRU技术以及脏页管理
LRU:最近最少访问
dirtypage.jpg
free list:没有被访问的缓存
LRU(clean page):位于LRU缓存,但是页面没有被修改
LRU(dirty page):位于LRU缓存,页面已经被修改
FLUSH LIST:刷新脏页的缓存 - innodb 双写,double write
使用memcpy把dirty page 写到double write buffer,分两次写完,每次写1M到共享空间,防止服务器断电数据丢失
网友评论