首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

mysql优化3

1.5 query_cache_size (1)简介: 查询缓存简称QC,使用查询缓冲,mysql将查询结果存放在缓冲区中,今后对于同样的select语句(区分大小写),将直接从缓冲区中读取结果。 一个sql查询如果以select开头,那么mysql服务器将尝试对其使用查询缓存。 注:两个sql语句,只要想差哪怕是一个字符(列如大小写不一样;多一个空格等),那么这两个sql将使用不同的一个cache。 (2)判断依据 mysql> show status like "%Qcache%"; +-------------------------+---------+ | Variable_name | Value | +-------------------------+---------+ | Qcache_free_blocks | 1 | | Qcache_free_memory | 1031360 | | Qcache_hits | 0 | | Qcache_inserts | 0 | | Qcache_lowmem_prunes | 0 | | Qcache_not_cached | 2002 | | Qcache_queries_in_cache | 0 | | Qcache_total_blocks | 1 | +-------------------------+---------+ 8 rows in set (0.00 sec)

01

Mysql学习笔记(十一)- Innodb log机制和优化

在上一片文章中,我们说innodb的内存优化主要是通过多buffer pool size的优化,首先是lru链表的young和old区,以及之间的数据页的迁移的时间优化。因为我们执行一条sql,其实是在内存中做这件事情的,做完毕之后会加入的dolog中,然后后台线性会将其写入磁盘,所有这个缓存的大小就成为性能的重要影响因素。除此之外,调整old区的大小也可以让热点数据不易从buffer pool中淘汰,我们可以通过设置innodb_old_blocks_pct去设置old区的比例。当然我们也可以通过old区的最小淘汰时间innodb_old_blocks_time来让更多的数据能够留在热点区域内。当然由于线程对innodb缓存池的访问是互斥的,所以并发比较大的时候,容易出现瓶颈,所以在这里可以设置innodb_buffer_instances,这样buffer_pool_size就会平分到每个instance上。对于长时间不用或者要被淘汰的数据页,也有操作的方式,其提供了innodb_io_capacity和innodb_max_dirty_pages_pct分别表示一秒需要刷新到磁盘的io次数和要进行数据回写磁盘的触发上线,默认值是75%。

03
领券