php - MySql缓存问题...一些问题

标签 php sql mysql database caching

首先,我正在使用PhpMyAdmin,这样可以吗? 因为当我禁用缓存,并互相执行两个查询时,第二个查询总是更快,所以我想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'

最佳答案

First of all, I am using PhpMyAdmin, is this okay or not?

我想这总比没有好——而且比命令行客户端更用户友好;但我不喜欢 phpMyAdmin 的一点是它发送的查询不是您编写的。

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

不过,一般来说,只要您接受将发送更多请求,我会说“没问题”:phpMyAdmin 显示大量信息(例如数据库列表、表格等),并且必须从某个地方获取这些信息!

Shouldn't there only be 1 increase per query?

如果您确实想查看查询的影响而不是其他,您可能最好使用命令行 mysql 客户端,而不是 phpMyAdmin :该图形工具必须将查询发送到获取它显示的信息。

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

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

关于php - MySql缓存问题...一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2226932/

相关文章:

javascript - ajax将json值传递给html header 类

python - mysql_exceptions.OperationalError : (1054, "Unknown column ' xxx'在 'field list'“)

php - 仅将新记录从一台数据库服务器插入到另一台数据库服务器

Php/MySql 建议

mysql - 如何解决这个查询?

php - 如何使用 Doctrine2 中的级联选项让关联实体自动持久化?

php - Mysql NOW() 没有更新数据库

php - 使用php和mysql将数据插入数据库

php - PHP检查数组的IP,在SQL数据库?

sql - 如何使用更新触发器更新另一个表?