1、对SQL语句、索引、表结构等进行优化。
2、开启查询缓存,Query Cache缓存了SELECT查询及其效果数据集,当执行一个同样的SELECT查询时,MySQL会从内存中直接取出效果,加速了查询执行速率、减小了数据库的压力。执行SHOW VARIABLES LIKE ‘have_query_cache’;可以查看MySQL查询缓存是否打开,开启查询缓存只需设置my.cnf文件即可,详细如下:
query_cache_type = 1
query_cache_size = 128M
query_cache_limit = 1M
保留好后重启MySQL。
3、选用InnoDB存储引擎,MySQL常用存储引擎是MyISAM和InnoDB,二者区别如下:
MyISAM
查询速率快;
支持表级锁,在上锁时代表上不能进行其他操作;
支持全文检索;
支持数据压缩、自我复制、查询缓存、数据加密;
不支持外键;
不支持事务,以是也就没有COMMIT和ROLLBACK操作;
不支持集群数据库。
InnoDB
支持行级锁;
支持外键,对外键约束强制;
支持事务,可执行COMMIT和ROLLBACK操作;
支持数据压缩、自我复制、查询缓存、数据加密;
可用在集群环境,但并不完全支持。InnoDB表可以转换为NDB存储引擎,这样就能用在集群环境。
mysql如何定期分析检查与优化表?