Mysql 数据库缓存cache功能总结[转]
mysql cache功能分析:
1 mysql的cache功能的key的生成原理是:把select语句按照一定的hash规则生成唯一的key,select的结果生成value,即 key=>value。所以对于cache而言,select语句是区分大小写的,也区分空格的。两个select语句必须完完全 全一致,才能够获取到同一个cache。
2 生成cache之后,只要该select中涉及到的table有任何的数据变动(insert,update,delete操作等),相 关的所有cache都会被删除。因此只有数据很少变动的table,引入mysql 的cache才较有意义。关于这方面的测试,可以参考:《Query Cache,看上去很美》一文。
所以,mysql的cache功能只适用于下列场合:数据变动较少,select较多的table。
那么。在复杂的系统中,如何使用mysql的cache功能呢,基本方法如下:
配置query_cache_type,同时改写程序。
query_cache_type 0 代表不使用缓冲, 1 代表使用缓冲,2 代表根据需要使用。
设置 1 代表缓冲永远有效,如果不需要缓冲,就需要使用如下语句:
SELECT SQL_NO_CACHE * FROM my_table WHERE …
如果设置为 2 ,需要开启缓冲,可以用如下语句:
SELECT SQL_CACHE * FROM my_table WHERE …
So,最简单又可靠的做法是:把query_cache_type设置为2,然后在需要提高select速度的地方,使用:
SELECT SQL_CACHE * FROM…
的方式进行SELECT。
【mysql cache调试笔记】
1 可以使用下列命令开启mysql的select cache功能:
SET GLOBAL query_cache_size = 102400000;
因为当query_cache_size默认为0时,是不开启cache功能的。
2 调试:
查看cache的设置:
show variables like ‘%query_cache%’;
性能监控:
show status like ‘%Qcache%’;
3 mysql cache的清理:
可以使用FLUSH QUERY CACHE语句来清理查询缓存碎片以提高内存使用性能。该语句不从缓存中移出任何查询。
RESET QUERY CACHE语句从查询缓存中移出所有查询。FLUSH TABLES语句也执行同样的工作。
分享到:
相关推荐
### MySQL数据库缓存知识点详解 #### 背景与需求分析 随着互联网技术的迅猛发展,数据处理成为了各个企业必须面对的重要课题。数据库作为数据管理的核心工具,其选择与使用方式直接影响着系统的性能与成本。在市场...
* Query Cache 优化:Query Cache 是 MySQL 的一个重要功能,合理设置 Query Cache 可以提高数据库的性能。 * 创建合理的索引:合理创建单列索引及组合索引,可以提高数据库的性能。 * 优化表结构:合理设计表结构,...
根据提供的文档信息,本文将对MySQL数据库的关键特性及其在Jsp/Servlet网上拍卖系统中的应用进行深入...通过对这些知识点的学习和实践,可以更好地理解和掌握MySQL数据库的核心功能,并能够有效地应用于实际项目中。
使用 Redis 作 MySQL 数据库缓存,需要确定用何种数据结构存储来自 MySQL 的数据。在确定数据结构之后,还要考虑用什么标识作为该数据结构的键。MySQL 中的数据都是按照表存储的,更微观地看,这些表都是按照行存储...
### MySQL数据库优化全面解析 #### 一、查询优化概述 查询优化是提升MySQL数据库性能的关键环节之一。在数据库系统中,查询操作是最常见的用户交互形式。一个查询从客户端发起,到达数据库服务器,经过处理后返回...
常见的数据库缓存机制包括MySQL的InnoDB Buffer Pool,Oracle的Shared Pool等。 在Java世界里,最常用的数据库缓存解决方案有以下几种: 1. **Redis**:一个开源的、支持网络、基于内存、可持久化的键值对数据库。...
总结来说,数据库缓存是优化数据库性能的关键手段之一,理解和掌握其原理和使用技巧,对于提升系统的响应速度和用户体验具有重要意义。在实际应用中,需要根据具体业务场景选择合适的缓存策略,并进行持续监控和调整...
MySQL数据库性能优化是一个涵盖多个方面的主题,涉及到数据库配置、索引优化、查询优化、存储引擎选择、内存管理以及数据模型设计等多个环节。以下是对这些关键领域的详细解释: 1. **数据库配置**: - `my.cnf` ...
本文将深入探讨一种基于Redis的简单RDS MySQL数据库缓存解决方案,标题为"solution-mysql-redis-cache-simple",主要关注Java开发环境下的实现。 首先,Redis作为一个内存数据结构存储系统,因其高速读写能力,常被...
### MySQL数据库参数设置详解 #### 一、概述 在MySQL数据库管理中,合理地设置数据库参数对于提升系统性能、确保数据安全与完整性至关重要。本文档将详细介绍一个针对MySQL 5.6版本的服务器参数设置模版,适用于...
总结起来,MySQL数据库的性能优化需要从多个角度考虑,包括但不限于系统配置调整、数据库结构设计、编写高效的SQL语句、合理使用查询缓存、维护合理的索引策略等。在实际工作中,通过不断监控数据库的性能,结合具体...
在MySQL数据库系统中,查询缓存是一个非常重要的性能优化机制,它允许服务器存储先前执行的SQL查询及其结果,以便在后续请求相同查询时快速返回结果,而无需再次解析和执行查询。然而,这也可能导致某些情况下优化...
此外,还会涉及如何通过调整MySQL的配置参数来优化缓存使用,例如`query_cache_size`、`innodb_buffer_pool_size`等。 5. MySQL缓存实验报告 实验报告会记录实施的缓存优化实践,包括修改配置、监控性能变化、对比...
MySQL数据库5.5版是MySQL关系型数据库管理系统的一个重要里程碑,它在5.x系列中提供了许多增强的功能和优化,旨在提高性能、可扩展性和安全性。MySQL是一个开源、免费的数据库解决方案,广泛应用于Web应用程序、数据...
### MySQL数据库开发优化与管理维护 #### 概览 本文档深入探讨了MySQL数据库的各个方面,包括开发、优化以及管理维护等内容。文档分为两大部分:第一部分主要关注于数据库的开发,介绍了如何选择合适的存储引擎、...
### 数据库缓存:释放性能瓶颈的金钥匙 在当今高度数字化的世界中,数据库作为存储、检索和管理数据的核心工具,对于确保应用的稳定性和高效性至关重要。随着数据量的不断增长以及用户对响应时间要求的提高,如何...
1. MySQL数据库架构:这部分可能涉及了对MySQL内部架构的解释,包括不同存储引擎的使用,查询缓存(Query Cache)的概念和作用,以及MySQL可插拔存储引擎架构体系。 2. 缓存(BUFFER)与缓存(CACHE)的区别:这是...
MySQLi(Improved MySQL)是PHP中的一个扩展,用于处理MySQL数据库。它提供了面向对象和面向过程两种接口,支持预处理语句,增强了安全性并提供了更好的性能。在本案例中,数据库操作类基于MySQLi构建,通过封装...
MySQL数据库是 IO 密集型的程序,和其他数据库一样,主要功能是数据的持久化以及数据的管理工作。本文侧重通过优化MySQL 数据库缓存参数如查询缓存,表缓存,日志缓存,索引缓存,innodb缓存,插入缓存,以及连接...
MySQL数据库系统在处理查询时,为了提高性能,使用了多种缓存机制,其中最常见的是查询缓存(Query Cache)。本文将深入探讨MySQL的查询缓存功能,以及如何通过全局变量`global_query_cache_size`来调整其大小。 ...