好的,我遵循了this教程,重新启动了mysql服务器。然而,每当我去运行一个查询,然后再次执行查询,我几乎看不到任何性能的提高。这就像一个.200秒增益,它告诉我缓存不工作。
下面是来自my.cnf文件的缓存配置。
# * Query Cache Configuration
#
query_cache_limit = 10M
query_cache_size = 256M
query_cache_type = 1我测试它的方式是从数据库运行一个例程。该例程由一个简单的SELECT语句组成,该语句连接两个小型查找表。
show variable like '%query_cache%';结果
have_query_cache YES
query_cache_limit 10485760
query_cache_min_res_unit 4096
query_cache_size 268435456
query_cache_type ON
query_cache_wlock_invalidate OFF编辑1
添加一下,当我使用Workbench查看Server时。查询缓存命中率保持在0%。
发布于 2012-06-12 21:40:44
好的,这就是解决我问题的原因。最后,我在MySql工作台上启用了远程管理。然后我转到Configuration->Options文件。它给了我一个错误,说明没有一个叫做mysqld的部分,并且它要添加它。之后,我转到Performance,注意到缓存的所有复选框都未选中。我检查了所有的值,MySql工作台建议我在输入缓存值时以K、M或G作为值的后缀。之后,我重新启动了服务器,并成功地缓存了我的查询。
不确定配置中所有的技术部件都更改了什么,但是工作台为我处理了所有的事情。
发布于 2012-06-08 16:25:33
您应该返回并以字节为单位指定参数。我知道showVar看起来是正确的,但是这些值是在系统中使用的,看起来您已经在MBs中指定了params,上面的第一个代码块。尽管showVar看上去不错,但该系统可能会出现1000万美元的违约,达到0。
https://stackoverflow.com/questions/10941052
复制相似问题