Skip to content

Latest commit

 

History

History
90 lines (46 loc) · 2.76 KB

08.叶问8期.md

File metadata and controls

90 lines (46 loc) · 2.76 KB

《叶问》第8期

一、innodb已经使用了独立undo表空间,那么ibdata1还会增长吗,为什么?

2018年9月21日,周五

答:使用独立undo表空间后,ibdata1里主要存储Data dictionary、Rollback segments、Double write buffer、change buffer、Foreign key constraint system tables等数据。 

下面两种情况可能还会导致ibdata1文件增长: 

1、当使用共享表空间模式时(设置innodb_file_per_table=0),ibdata1还会存储用户数据,导致ibdata1文件增长。(当然了,现在应该几乎没人再这么用了) 

2、在高I/O负载时,可能会来不及刷新和回收change buffer page,也会导致ibdata1文件增长。(此种情况再高并发压测情形下更容易出现)

二、怎么安心过好国庆节?

2018年9月30日,周日

答:

1、检查备份。不管是逻辑备份、物理备份,还有binlog也要备份。备份文件可恢复,才是好备份。 

2、做好安全措施。授权合理不要过大,在外不要连陌生的网络办公。危险操作,尽量等节后执行。 

3、健康巡检。节前巡检包括:数据库桩体、硬盘空间、日志信息、物理硬件、系统负载是否预警等。

三、MySQL线上实例insert慢常见原因有哪些?

2018年10月9日,周二

答:

1、锁等待:SQL产生的间隙锁、自增锁、死锁、MDL锁、外键检查锁,锁等待时间

2、iops达到瓶颈:例如备份任务、高频binlog redolog等文件写入

3、semi-sync:因为网络抖动,MySQL半同步、增强半同步导致语句卡住

4、高并发:高并发场景下,导致系统资源达到瓶颈,从而SQL执行慢

5、大字段:当前表索引过多,或者写入大量的text类型数据

6、硬件故障:因为磁盘、raid卡、内存等物理硬件故障导致写入慢

7、磁盘资源耗尽:操作系统的磁盘、inode资源耗尽

8、文件系统故障:MySQL data目录的所在挂在的不可写、或者被设置为只读

9、binlog group commit等待 

10、参数配置:innodb_buffer、redo_buffer过小 

11、autocommit:事物非自动提交,等待程序提交。

四、虽然命中索引,但SQL效率仍然慢,可能有哪些原因?

2018年8月27日,周一

答:

1、索引字段重复值或者空值太多。 

2、查询条件范围太广返回结果数太多,全索引扫描 

3、没有利用到覆盖索引,造成大量回表 

4、查询字段过多,并且包含大字段 

5、索引字段数据分布太随机,回表不多也会引起大量随机io 

6、统计信息不准 

7、表的单行数据值很大,需要较多io 

8、表中包含多个索引, 命中的索引不是最优的索引。