一些问题,MySql缓存问题

时间:2010-02-09 05:23:47

标签: php sql mysql database caching

首先,我正在使用PhpMyAdmin,这是否可以? 因为当我有缓存disabled并且在彼此之后执行两个查询时,第二个查询总是更快,所以我想也许PhpMyAdmin上有内部缓存?

其次,有没有什么方法可以获取查询所需的时间,进入php并将其回显到浏览器? (所以我可以使用php而不是phpMyAdmin)

第三,SHOW STATUS LIKE '%qcache%'给了我这个:

Qcache_free_blocks       1
Qcache_free_memory       25154096
Qcache_hits              0
Qcache_inserts       2
Qcache_lowmem_prunes     0
Qcache_not_cached        62
Qcache_queries_in_cache  2
Qcache_total_blocks      6

为了我的每个查询,Qcache_not_cached如何增长510?每个查询不应该只增加1吗?

此外,当我启用缓存并进行查询时,Qcache_queries_in_cache增加了2 ...我认为每个查询会增加1,解释有人?

然后,当我执行另一个与我缓存的查询相同的查询时,根本没有性能提升,只要没有启用缓存,查询就会花费...

除了参考手册(我已经阅读过)之外,请在此处提供任何帮助。

由于

更新

以下是我的典型查询:

   SELECT * FROM `langlinks` WHERE ll_title='Africa'

2 个答案:

答案 0 :(得分:1)

  

首先,我使用的是PhpMyAdmin,   这没关系吗?

我认为它总比没有好 - 并且比命令行客户端更加用户友好;但我不喜欢phpMyAdmin的一件事就是它发送你没写的查询。

我已经看到phpMyAdmin发送了一些“伤害”服务器的查询,而用户编写的查询是正常的,例如(我没有确切的例子)

一般来说,只要您接受将发送更多请求,我会说它是“ok”:phpMyAdmin显示许多信息(如数据库,表格列表等)< / em>,并且必须从somewehre获取这些信息!

  

不应该只有1增加   查询?

如果你真的想看到你的查询的影响,而不是其他,你可能更好地使用命令行mysql客户端,而不是phpMyAdmin:该图形工具必须发送查询以获取信息它会显示出来。

实际上,问题是:您更喜欢用户友好的工具吗?或者您是否只想监控查询实际执行的操作?

在大多数情况下,答案是“用户友好的工具” - 这就是为什么phpMyAdmin取得如此大的成功; - )

答案 1 :(得分:0)

PhpMyAdmin从mysql服务器执行查询和更新状态,因此您不会在phpmyadmin中看到它增加一个