深入浅出 MySQL:应用优化

版权声明:@潘广宇博客, https://blog.csdn.net/panguangyuu/article/details/89306855

一、使用连接池

访问数据库,建立连接是较为昂贵的,建立连接池可以提高数据库的性能。

二、减少对MySQL的访问

1)避免对同一数据重复检索

2)使用查询缓存

show variables like '%query_cache%';

-- 

have_query_cache : 是否配置缓存

query_cache_size : 缓存缓冲区大小,单位MB

query_cache_type : 缓存类型(off、on、demand(只给SQL_CACHE的select语句进行高速缓存))

作用:存储select查询的文本及对应结果,当随后收到相同的查询时,从查询缓存中直接得到查询结果。

适用于更新不频繁的表,当表结构与数据发生改变时,表缓存将被清空。

查看缓存情况:

show status like 'Qcache_%'

3)增加cache层,类似 memcached、Redis

三、负载均衡

1)利用MySQL复制分流的查询操作

主数据库:读操作,从数据库:写操作。

当主数据库更新频繁或网络不稳定时,会造成数据延迟。从数据库与主库的数据不一致。

2)采用分布式数据库架构:MySQL-cluster

四、其他优化措施

1)没有删除行操作的MyISAM表,插入与查询可以并行,查询不会阻塞插入操作。

2)充分使用列的默认值,减少语法分析提高插入速度。

3)尽量不使用自增长,高并发下自增长将影响插入效率

猜你喜欢

转载自blog.csdn.net/panguangyuu/article/details/89306855