问题背景描述:
在 MySQL 中执行 SQL 语句,比如 insert,贼慢,明明可能也就只是一行数据的插入,数据量很小,但是耗费的时间却很多,为什么?
一、存储结构分析
MySQL 存储结构图:
解析:
1、读操作:内存读 -->cache 缓存读 --> 磁盘物理读
读取到的数据会按上述顺序往回送。
2、写操作:内存数据直接写入 cache 缓存 (非常快)--> 写入 disk
由上可知,MySQL 之所以读写速度快,cache 在其中起到了关键作用。
①、Cache 缓存特点:
- 速度快
- 掉电数据丢失
- 容量有限
②、保护数据安全 (防止意外掉电的数据丢失) 应对措施:
在存储中,增加 BBU(电池备份单元,就是电池),在掉电后,可以把缓存中的数据写到磁盘中,保证数据不会丢失。
如果没有提