一:问题
在使用mysql数据库的过程中,会出现各种各样的问题。
1:慢查询
2:单表数据量大的问题
3:误操作问题
二:慢查询
在遇到SQL慢查询的情况,得好好排除问题,判断是什么问题。导致SQL慢查询的因素有很多,可能存在硬件的问题和编写的SQL问题(大多数情况是这个)
引擎选择
在mysql需要主要的是,表单的设计以及引擎的选择。
mysql 常用的存储引擎包括 MYISAM、Innodb 和 Memory,其中各自的特点如下:
1:MYISAM : 全表锁,拥有较高的执行速度,一个写请求请阻塞另外相同表格的所有读写请求,并发性能差,占用空间相对较小,mysql 5.5 及以下仅 MYISAM 支持全文索引,不支持事务。
2:Innodb:行级锁(SQL 都走索引查询),并发能力相对强,占用空间是 MYISAM 的 2.5 倍,不支持全文索引(5.6 开始支持),支持事务。
3:Memory : 全表锁,存储在内存当中,速度快,但会占用和数据量成正比的内存空间且数据在 mysql 重启时会丢失。
基于以上特性,建议绝大部份都设置为 innodb 引擎,特殊的业务再考虑选用 MYISAM 或 Memory ,如全文索引支持或极高的执行效率等。
针对业务场景选择好的引擎,可以避免慢的查询问题。
检测数据慢查询
EXPLAIN 指令。使用在