一般用的比较多的两个引擎就是 mysiam 和 innodb 。
使用mysiam在查询慢查询的时候一定要注意,因为可能只支持表锁,不像innodb可以支持行锁,所以有可能在你执行查询的时候
需要执行update语句这样就会导致waitting for level table 然后导致线程无线增加导致mysql占用cpu爆满,导致mysql崩掉,这时候你可以重启
mysql进程,也可以杀死特定连接就可以恢复了。
在建立索引时,一定要注意不要建立不必要的单列索引就比如 update user set `name`=‘sss‘ where group_id=‘41‘ and...........,在使用索引时
会锁掉parimary key 然后后面又一个索引条件又锁掉 parimary key 这样就会出现死索引了。
所以在建表的时候要注意索引的建立。
当在执行逻辑的时候复杂的sql可能会太慢,这时候你可以拆分sql语句。既提高效率,也减少了 mysql的压力。
原文:https://www.cnblogs.com/jerrydailyphp/p/10845809.html