mysql性能优化
mysql性能优化
mysql性能优化:
NO1:选择合适的存储引擎,现在主流的使用的是myisam与innodb。
a:myisam是mysql默认使用的存储引擎,它不支持事务、外键,优势在于访问速度快,对事务完整性没有要求或者以查询、插入数据为主的应用都可以使
用myisam。
b:innodb的优势在于支持事务、外键、锁表,对数据要求一致性高或频繁更新数据的应用推荐使用innodb存储引擎
NO2:优化数据库的配置文件,修改一些常用的默认选项
a:innodb_buffer_size,缓冲池大小,这个值是用于存放数据和缓存索引的,根据系统配置适当设置为最大值,常用的5-6G(8G),20-25G(32G),
100-120G(128G)
b:log-bin,日志文件的开启,可以用于数据的备份
c:max_connections:最大连接数的设置,mysql安装后该值默认一般都比较小,所以在系统资源够用的情况下,尽可能设置大点
NO3:建立合适的表字段以及添加索引
a:尽量使用表可以正确存储数据的最小字段类型
b:索引一般建在where条件查询的列上,而并非select后面的列
c:利用最左前缀原则可以创建多列索引
NO4:sql语句的优化
a:select后尽量不要使用*,需要什么字段就拿什么字段
b:尽量减少额外的排序操作,通过索引返回有序的数据
NO5:表结构的优化
a:垂直拆分,把主键和一些常用字段放在一张表,主键和其他字段放到另一张表,垂直拆分优势是可以使一个数据页放更多的内容,减少IO
b:水平拆分,根据某一列,将表内容存放到多张表中,水平拆分优势是减少大多数查询的数据量,提高查询速度
NO6:读写分离的配置