query_cache_size = 64M
指定MySQL查询缓冲区的大小。可以通过在MySQL控制台执行以下命令观察:
# > SHOW VARIABLES LIKE '%query_cache%'; # > SHOW STATUS LIKE 'Qcache%'; # 如果Qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况;
如果Qcache_hits的值非常大,则表明查询缓冲使用非常频繁,如果该值较小反而会影响效率,那么可以考虑不用查询缓冲;Qcache_free_blocks,如果该值非常大,则表明缓冲区中碎片很多。
“Qcache_free_blocks”:Query Cache 中目前还有多少剩余的blocks。如果该值显示较大,
则说明Query Cache 中的内存碎片较多了,可能需要寻找合适的机会进行整理()。
● “Qcache_free_memory”:Query Cache 中目前剩余的内存大小。通过这个参数我们可以较为准
确的观察出当前系统中的Query Cache 内存大小是否足够,是需要增加还是过多了;
● “Qcache_hits”:多少次命中。通过这个参数我们可以查看到Query Cache 的基本效果;
● “Qcache_inserts”:多少次未命中然后插入。通过“Qcache_hits”和“Qcache_inserts”两
个参数我们就可以算出Query Cache 的命中率了:
Query Cache 命中率= Qcache_hits / ( Qcache_hits + Qcache_inserts );
● “Qcache_lowmem_prunes”:多少条Query 因为内存不足而被清除出Query Cache。通过
“Qcache_lowmem_prunes”和“Qcache_free_memory”相互结合,能够更清楚的了解到我们系
统中Query Cache 的内存大小是否真的足够,是否非常频繁的出现因为内存不足而有Query 被换
出
● “Qcache_not_cached”:因为query_cache_type 的设置或者不能被cache 的Query 的数量;
● “Qcache_queries_in_cache”:当前Query Cache 中cache 的Query 数量;
● “Qcache_total_blocks”:当前Query Cache 中的block 数量;
Query Cache 的限制
Query Cache 由于存放的都是逻辑结构的Result Set,而不是物理的数据页,所以在性能提升的同
时,也会受到一些特定的限制。
a) 5.1.17 之前的版本不能Cache 帮定变量的Query,但是从5.1.17 版本开始,Query Cache 已经
开始支持帮定变量的Query 了;
b) 所有子查询中的外部查询SQL 不能被Cache;
c) 在Procedure,Function 以及Trigger 中的Query 不能被Cache;
d) 包含其他很多每次执行可能得到不一样结果的函数的Query 不能被Cache。
鉴于上面的这些限制,在使用Query Cache 的过程中,建议通过精确设置的方式来使用,仅仅让合
适的表的数据可以进入Query Cache,仅仅让某些Query 的查询结果被Cache。
分享到:
相关推荐
MySQL 数据库优化是一个复杂而重要的任务,特别是在处理高并发、大数据量的应用场景中。这篇“mysql完全优化日记”提到了一些关键的优化策略,主要包括内存配置、分表分库等。 首先,我们要关注的是内存配置。MySQL...
### MySQL数据库服务器优化详解 在IT领域,MySQL作为全球最流行的开源关系型数据库管理系统之一,其性能优化一直是DBA(数据库管理员)和技术人员关注的重点。本文将深入解析MySQL数据库服务器优化的关键点,涵盖...
在这种情况下,对MySQL进行优化至关重要。MySQL的灵活性使其能够在各种资源限制下运行,通过适当调整配置参数,我们可以显著提高其性能。 首先,我们需要关注配置文件。在安装MySQL后,配置文件通常位于`/usr/local...
通过 `SHOW STATUS LIKE 'Qcache%'` 可以获取关于查询缓存的性能指标,如缓存命中率、插入次数、删除次数等。 1.2. 其他数据库优化策略 除了查询缓存外,还有其他优化方法,包括但不限于: - 使用合适的索引:为...
### MySQL 数据库优化详解 #### 一、引言 MySQL 是一种广泛使用的开源关系型数据库管理系统,因其高效、稳定及可扩展性而受到许多企业和开发者的青睐。然而,随着业务的发展,系统的负载会逐渐增大,这往往导致...
### MySQL缓存优化详解 ...以上是关于 MySQL 存储引擎的选择以及查询缓存配置与优化的基本介绍。通过对存储引擎的选择和合理配置查询缓存,可以有效地提高 MySQL 数据库的性能和响应速度,满足不同业务场景的需求。
# MySQL内存优化详解 ## 引言:内存在MySQL中的作用与重要性 在现代数据库管理系统(DBMS)中,内存的高效利用对于提高查询速度、降低磁盘I/O操作至关重要。MySQL作为一款广泛使用的开源关系型数据库管理系统(RDBMS)...
### MySQL Key Cache 优化详解 在MySQL数据库管理系统中,针对不同的存储引擎,有着不同的缓存机制来提升查询性能。本文将重点围绕MyISAM表类型的key cache进行详细讲解,并涉及InnoDB存储引擎的相关特性,以及...
MySQL 实训 5 MySQL 实训 5 是一个实践实验,旨在帮助用户理解数据库性能概念,掌握数据库性能监视命令方法,提高数据库性能。下面是相关知识点总结: 1. 数据库性能概念 数据库性能是指数据库在处理用户请求时...
MySQL在Linux高负载环境下的优化是一项关键任务,以确保数据库高效稳定运行。本文将深入探讨如何针对MySQL在Linux系统上的性能优化,特别是关注内存配置、查询缓存和表高速缓存。 首先,MySQL的内存使用策略是灵活...
MySQL数据库性能优化是一个涵盖广泛的主题,它涉及到许多不同的层面,包括查询优化、索引优化、配置参数调整等。本文将重点讨论缓存参数优化,这对于提升数据库性能具有显著效果。 首先,我们来看query_cache_size...
Mysql 配置优化参数是 Mysql 性能调优的关键一步骤。通过调整这些参数,可以提高 Mysql 的性能和效率。在这个指南中,我们将详细介绍 Mysql 配置优化参数的说明和优化指南。 1. max_connections:Mysql 的最大连接...
MySQL 高级优化主要包括对应用层面的优化以及数据库自身的查询缓存优化。在实际生产环境中,为了应对数据库性能的局限,我们需要对前端应用进行优化,以降低数据库的访问压力。 **1. 应用优化** 1.1 **使用连接池*...
MySQL配置参数优化是数据库性能提升的关键环节,涉及到多个方面,包括连接管理、缓冲区管理和查询缓存等。以下是对这些关键参数的详细说明: 1. **最大连接数**(`max_connections`):这个参数决定了MySQL可以同时...
"MySQL数据库性能优化和监视" MySQL数据库性能优化和监视是数据库管理和开发人员非常重要的一项任务。为了确保数据库的高效运行,需要了解数据库性能概念,并掌握数据库性能监视命令方法。本文将详细介绍 MySQL ...
`sort_buffer`和`join_buffer`是MySQL用来优化查询的内存区域。 #### 11. MySQL复制配置细节 `Slave_parallel_workers`配置项用于指定并行复制的工作线程数。`sync_binlog`配置项控制二进制日志的写入和刷新行为,...
- **性能优化**:增加了Query Cache的替代品——Query Performance Optimizer (Qcache),以及更多查询优化器的改进,提升了查询处理速度。 - **JSON支持**:引入了原生的JSON数据类型和相关函数,使得MySQL能够更...
通过SHOW语句,可以查询查询缓存相关的指标,例如Qcache_free_blocks、Qcache_free_memory、Qcache_hits、Qcache_inserts、Qcache_lowmem_prunes、Qcache_not_cached、Qcache_queries_in_cache、Qcache_total_blocks...