MySQL是目前经常使用的数据库。当我们需要处理几千万几亿几十亿这样级别的数据的时候,MySQL的性能至关重要,特别对于大量并发的服务器,数据库操作往往成为整个服务器的性能瓶颈。下面我分享一下一些基本的MySQL优化方法。
我们知道机器的选择,MySQL部署,MySQL数据的创建对性能的影响是最高的,下面浅谈高效使用MySQL。
1.MySQL数据需要存储在硬盘中,每次写操作都需要直接的IO操作,所以选择固态硬盘存储MySQL数据可以大大提高其性能。
2.MySQL可以部署主从数据库,选择主库进行写操作,从库只允许读操作。对于有大量读操作的业务可以配置多个从库分担压力。存储的数据量很大可以分库分表,减少单个数据库和单张表的数据量提高读写性能。
3.创建MySQL数据表需要选择合适的引擎,通常是MyISAM和InnoDB。创建数据表尽量简化数据,使用简单而且小的数据类型,能不用字符串的尽量不要使用。数据表索引尽量只针对关键字段创建,减少联合索引使用,有多个字段索引的可以合成一个索引,减少使用多个索引查询。
4.Mysql语句尽量使用预处理,预处理可以减少语义的解析次数,还能防止sql注入。
5.使用sql语句查询有索引必须尽量命中索引,尽量避免使用like,not exist, != 等等条件语句。
6.对MySQL配置文件进行优化,尽可能大的设置缓存,对应不紧急的数据可以不用实时日志落地,如果有必须落地的数据,可以分库来处理。