北京SEO

MySQL启用查询语句缓存方法

2019/10/10/17:36:41  阅读:1947  来源:谷歌SEO算法  标签: SEO博客

我们这是对mysql进入优化时做的一点,就是启用mysql查询语句缓存了,这样可以避免需要进行大量的数据库操作时数据库常常会成为产生瓶颈的问题。

开启查询语句缓存也是优化MySQL的一个策略.

MySQL 是我们开发程序常用的数据库,它具有在内存中缓存常用查询语句的能力,这样一个给定的查询语句再次被调用时,MySQL将立即从缓存中将其返回,然而,在大多数MySQL中,这一特性默认是被禁用的,为了启用它,向你的MySQL配置选项文件添加以下代码,该配置文件的名称为my.cnf,它用来声明变量和你的MySQL服务器的行为.

启用MySQL的查询语句缓存,在这里,我们将查询语句缓存设为64MB,代码如下:

[mysqld]

query_cache_size=64M

当前查询语句缓存的大小,可以通过MySQL的SHOW VARIABLES命令来查看,代码如下:

query_cache_size |555-55554

query_cache_type | ON

我们需要不断地试验查询语句缓存大小的设置,缓存太小就意味着缓存了的查询语句很快就会过期,缓存太大就意味着搜索一个缓存可能需要花费相对较长时间,还有就是使用内存进行缓存比使用其它一些方式要好,就像有更多的web服务器处理,memcache或者操作系统的文件缓存一样.

查询缓存介绍,查询缓存的工作原理,基本上可以概括为:

缓存SELECT操作或预处理查询,注释,5.1.17开始支持,的结果集和SQL语句;

新的SELECT语句或预处理查询语句,先去查询缓存,判断是否存在可用的记录集,判断标准,与缓存的SQL语句,是否完全一样,区分大小写.

查询缓存对什么样的查询语句,无法缓存其记录集,大致有以下几类:

查询语句中加了SQL_NO_CACHE参数;

查询语句中含有获得值的函数,包涵自定义函数,如:CURDATE()、GET_LOCK()、RAND()、CONVERT_TZ等;

对系统数据库的查询:mysql、information_schema

查询语句中使用SESSION级别变量或存储过程中的局部变量;

查询语句中使用了LOCK IN SHARE MODE、FOR UPDATE的语句

查询语句中类似SELECT …INTO 导出数据的语句;

事务隔离级别为:Serializable情况下,所有查询语句都不能缓存;

对临时表的查询操作;//phpfensi.com

存在警告信息的查询语句;

不涉及任何表或视图的查询语句;

某用户只有列级别权限的查询语句;

查询缓存的优缺点:不需要对SQL语句做任何解析和执行,当然语法解析必须通过在先,直接从Query Cache中获得查询结果;

查询缓存的判断规则,不够智能,也即提高了查询缓存的使用门槛,降低其效率,Query Cache的起用,会增加检查和清理Query Cache中记录集的开销,而且存在SQL语句缓存的表,每一张表都只有一个对应的全局锁.

广告内容

MySQL启用查询语句缓存方法 MySQL启用查询语句缓存方法 MySQL启用查询语句缓存方法

相关阅读

热门评论

小明SEO博客 小明SEO博客

小明SEO博客,新时代SEO博客

总篇数171

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法