一:简介
MySQL性能优化是通过优化各个方面的,不仅仅是优化SQL语句这一方面,而是通过各个方面的优化,每个地方优化一些,这样整体性能就会有明显的提升。
二:优化方式
主要的优化是SQL的优化和表结构的优化,这里可以起到数据库优化的80%的作用。
优先考虑这两个方面的优化。
1. 优化数据库表结构的设计
为什么数据库表的设计会影响性能?
字段的数据类型:不同的数据类型的存储和检索方式不同,对应的性能也不同,所以说要合理的选用字段的数据类型。
比如人的年龄用无符号的unsigned tinyint即可,没必要用integer数据类型的长度:数据库最终要写到磁盘上,
所以字段的长度也会影响着磁盘的I/O操作,如果字段的长度很大,那么读取数据也需要更多的I/O, 所以合理的字段长度也能提升数据库的性能。
比如用户的手机号11位长度,没必要用255个长度。
表的存储引擎:常用的存储引擎有MyISAM、InnoDB、Memory,不同的存储引擎拥有不同的特性,所以要合理的利用每种存储引擎的长处和优点来提供数据的性能。
MyISAM不支持事务,表级锁,但是查询速度快,InnoDB支持事务,行锁。
2. SQL优化
MySQL性能优化的一个很重要的手段就是对SQL语句的优化。其中最重要的方式就是使用索引。
还有一些其他的优化SQL的小技巧,比如用join代替子查询之类的,后续再总结。
hash join、merge join之类的。