mysql学习记录(二十二)--mysql的应用优化_MySQL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql学习记录(二十二)--mysql的应用优化_MySQL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2085字,纯文字阅读大概需要3分钟。
内容图文
![mysql学习记录(二十二)--mysql的应用优化_MySQL](/upload/InfoBanner/zyjiaocheng/582/89c1118956d543638906c1fe8f4d9696.jpg)
1.使用连接池
a.把连接当做对象或设备,统一放在‘连接池’里。凡是需要访问数据库的地方都从连接池里取连接
2.减少对mysql的访问:
a.避免对同一数据做重复检索
b.使用查询缓存
1)have_query_cache:表明服务器在安装时是否已经配置了高速缓存
2)query_cache_size:表明缓存区大小
3)query_cache_type:0/off = 缓存关闭,1/on = 缓存打开(使用sql_no_cache的select除外),2/demand(只有带sql_cache的select语句提供高速缓存
3.使用show status命令,监视查询缓存使用:
a.qcache_queries_in_cache:在缓存中已注册的查询数目
b.qcache_inserts:被加入到缓存中的查询数目
c.qcache_his:缓存采样数目
d.qcache_lowmem_prunes:因为缺少内存而被从缓存中删除的查询数目
e.qcache_not_cached:没有被缓存的查询数目
f.qcache_free_memory:查询缓存的空间内存总数
g.qcache_free_blocks:查询缓存的空闲内存块数目
h.qcache_total_blocks:查询缓存的块的总数目
4.增加cache层:
a.将部分数据从数据库抽取出来存成文件
b.建立二级数据库
5.负载均衡:
a.采取mysql复制分流查询操作
b.采取分布式数据库架构,具体可以用mysql的cluster功能,但必须采用innod存储引擎
6.其他优化方案:
a.对于没有删除行操作的myisam表,插入操作可以和查询操作并行进行。因为不会出现阻塞。如果一定要删除,可以在空闲时间删除。并且在删除之后进行optimize操作
b.充分利用列有默认值,只有插入的值不同于默认值时才‘明确’插入值,这样可以提高插入速度
c.表的字段尽可能不使用自增长变量,因为在高并发情况下自增长可能对效率有影响
二、实践:
mysql> use sakila; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show variables like '%query_cache%'; +------------------------------+---------+ | Variable_name | Value | +------------------------------+---------+ | have_query_cache | YES | | query_cache_limit | 1048576 | | query_cache_min_res_unit | 4096 | | query_cache_size | 0 | | query_cache_type | OFF | | query_cache_wlock_invalidate | OFF | +------------------------------+---------+ 6 rows in set (0.00 sec)
内容总结
以上是互联网集市为您收集整理的mysql学习记录(二十二)--mysql的应用优化_MySQL全部内容,希望文章能够帮你解决mysql学习记录(二十二)--mysql的应用优化_MySQL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。