<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: MySQL Query Cache</title>
	<atom:link href="http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/</link>
	<description>Everything about MySQL Performance</description>
	<lastBuildDate>Sat, 07 Nov 2009 18:35:44 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Wordpress ve MySQL performansını artırın &#124; Celal Yurtcu</title>
		<link>http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/comment-page-1/#comment-666647</link>
		<dc:creator>Wordpress ve MySQL performansını artırın &#124; Celal Yurtcu</dc:creator>
		<pubDate>Mon, 19 Oct 2009 21:40:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/#comment-666647</guid>
		<description>[...] http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/ [...]</description>
		<content:encoded><![CDATA[<p>[...] <a href="http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/" rel="nofollow">http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Speed Up WordPress With Caching &#124; -PiZi-</title>
		<link>http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/comment-page-1/#comment-663742</link>
		<dc:creator>Speed Up WordPress With Caching &#124; -PiZi-</dc:creator>
		<pubDate>Sun, 11 Oct 2009 15:35:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/#comment-663742</guid>
		<description>[...] Since WordPress uses MySQL, almost every page load results in various MySQL queries for logins, post content, categories and so on. It is very likely that this data didn’t change since the last request so we begin with enabling the cache within the MySQL server. Basically, all you need to to is to activate it in the my.cnf (or my.ini) MySQL configuration file with setting the query-cache-type variable to 1. The query-cache-size variable is the size of the query cache in MB, for example 20M. To change the MySQL configuration file, you’ll probably need root access which won’t be available on shared hosts. More info about query cache is available on techiecorner.com and the MySQL Performance blog. [...]</description>
		<content:encoded><![CDATA[<p>[...] Since WordPress uses MySQL, almost every page load results in various MySQL queries for logins, post content, categories and so on. It is very likely that this data didn’t change since the last request so we begin with enabling the cache within the MySQL server. Basically, all you need to to is to activate it in the my.cnf (or my.ini) MySQL configuration file with setting the query-cache-type variable to 1. The query-cache-size variable is the size of the query cache in MB, for example 20M. To change the MySQL configuration file, you’ll probably need root access which won’t be available on shared hosts. More info about query cache is available on techiecorner.com and the MySQL Performance blog. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carpii</title>
		<link>http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/comment-page-1/#comment-660175</link>
		<dc:creator>Carpii</dc:creator>
		<pubDate>Wed, 30 Sep 2009 11:08:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/#comment-660175</guid>
		<description>Hi LK,

  For your big table, every time it is updated, or inserted into, all queries in the cache which use that table, will be invalidated.
Remember the Query Cache caches the result set packets, its not caching query execution plans like SQL Server does.
So no, the Query cache will not be helpful *for that table*.

But.. it may be beneficial to your server as a whole, depending on what other queries are being run.

What I would do in your case is to change all your queries which use your big volatile table, and add SQL_NO_CACHE to them. 
This means mysql wont bother wasting time caching the results, only for them to be invalidated later. 
This will also improve cache efficiency and potentially decrease fragmentation, meanwhile all your other queries will still benefit from it :-)</description>
		<content:encoded><![CDATA[<p>Hi LK,</p>
<p>  For your big table, every time it is updated, or inserted into, all queries in the cache which use that table, will be invalidated.<br />
Remember the Query Cache caches the result set packets, its not caching query execution plans like SQL Server does.<br />
So no, the Query cache will not be helpful *for that table*.</p>
<p>But.. it may be beneficial to your server as a whole, depending on what other queries are being run.</p>
<p>What I would do in your case is to change all your queries which use your big volatile table, and add SQL_NO_CACHE to them.<br />
This means mysql wont bother wasting time caching the results, only for them to be invalidated later.<br />
This will also improve cache efficiency and potentially decrease fragmentation, meanwhile all your other queries will still benefit from it <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: LK</title>
		<link>http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/comment-page-1/#comment-650654</link>
		<dc:creator>LK</dc:creator>
		<pubDate>Wed, 09 Sep 2009 16:10:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/#comment-650654</guid>
		<description>Hi,

I have a table which is quite big. 

I do alot of INSERTS, UPDATE and SELECT on this table.

If the number of rows in the tables keeps on increasing, but the same SQL query is used, will query cache actually help?</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I have a table which is quite big. </p>
<p>I do alot of INSERTS, UPDATE and SELECT on this table.</p>
<p>If the number of rows in the tables keeps on increasing, but the same SQL query is used, will query cache actually help?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/comment-page-1/#comment-632039</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Tue, 18 Aug 2009 04:03:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/#comment-632039</guid>
		<description>Fosiul,

Indeed it would be good to be able to see query cache contents.
Unfortunately it is not possible in current MySQL version. So you&#039;ve just got to guess.</description>
		<content:encoded><![CDATA[<p>Fosiul,</p>
<p>Indeed it would be good to be able to see query cache contents.<br />
Unfortunately it is not possible in current MySQL version. So you&#8217;ve just got to guess.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fosiul</title>
		<link>http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/comment-page-1/#comment-629124</link>
		<dc:creator>Fosiul</dc:creator>
		<pubDate>Thu, 13 Aug 2009 08:15:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/#comment-629124</guid>
		<description>To Author and others,
Thanks for reading this.

I am looking for an explanation on this comments that author wrote here : &quot;But if you have just 20% Cache hit rate does it mean it is not worth it ? Not really it depends on which queries are cached, as well as overhead query cache provides.&quot;

My question is, How will you know which queries are cached ?? i have read Same kind of text in High performance MySQL Server book, in their its said
&quot;What’s a good cache hit rate? It depends. Even a 30% hit rate can be very helpful,
because the work saved by not executing queries is typically much more (per query)
than the overhead of invalidating entries and storing results in the cache. It is also
important to know which queries are cached. If the cache hits represent the most
expensive queries, even a low hit rate can save work for the server.&quot;


so again, Same talk which is , if I see the complex queries are saved in Query Cache that means i am getting profit from enabling query cache options.
but question is, how will I see which queries are cached in Query Cached memory ??

Can any one please explain to me, I would really appreciated that.
Regards
Fosiul</description>
		<content:encoded><![CDATA[<p>To Author and others,<br />
Thanks for reading this.</p>
<p>I am looking for an explanation on this comments that author wrote here : &#8220;But if you have just 20% Cache hit rate does it mean it is not worth it ? Not really it depends on which queries are cached, as well as overhead query cache provides.&#8221;</p>
<p>My question is, How will you know which queries are cached ?? i have read Same kind of text in High performance MySQL Server book, in their its said<br />
&#8220;What’s a good cache hit rate? It depends. Even a 30% hit rate can be very helpful,<br />
because the work saved by not executing queries is typically much more (per query)<br />
than the overhead of invalidating entries and storing results in the cache. It is also<br />
important to know which queries are cached. If the cache hits represent the most<br />
expensive queries, even a low hit rate can save work for the server.&#8221;</p>
<p>so again, Same talk which is , if I see the complex queries are saved in Query Cache that means i am getting profit from enabling query cache options.<br />
but question is, how will I see which queries are cached in Query Cached memory ??</p>
<p>Can any one please explain to me, I would really appreciated that.<br />
Regards<br />
Fosiul</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Different methods of caching &#8211; techPortal</title>
		<link>http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/comment-page-1/#comment-609742</link>
		<dc:creator>Different methods of caching &#8211; techPortal</dc:creator>
		<pubDate>Wed, 08 Jul 2009 10:19:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/#comment-609742</guid>
		<description>[...] The amount of memory used for caching queries is configurable. The MySQL query cache cannot cache stored procedures, so this solution only works for SELECT queries. Since the query cache only caches queries and often you need more caching than just the queries, this solution should typically be used in combination with one of the above caching methods. More information can be found here and here. [...]</description>
		<content:encoded><![CDATA[<p>[...] The amount of memory used for caching queries is configurable. The MySQL query cache cannot cache stored procedures, so this solution only works for SELECT queries. Since the query cache only caches queries and often you need more caching than just the queries, this solution should typically be used in combination with one of the above caching methods. More information can be found here and here. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reindl Harald</title>
		<link>http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/comment-page-1/#comment-573151</link>
		<dc:creator>Reindl Harald</dc:creator>
		<pubDate>Wed, 03 Jun 2009 10:57:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/#comment-573151</guid>
		<description>&gt; APC does more then just opcode caching. 
&gt; You can also use it as misc object cache from inside php

This are still different shoes

And even if you cache whole pages/parts that way you should combine it with mysql-qery-cache because if your manual cache is outdated you get most time parts of it from query cache without to do anything.

On a good configured server with well designed applications it looks like following
Up for: 2d 16h 57m 3s (7M q [32.419 qps], 224K conn, TX: 8B, RX: 1B)
[OK] Key buffer hit rate: 99.7% (14M cached / 44K reads)
[OK] Query cache efficiency: 87.9% (5M cached / 6M selects)

On this machine are 200 domains with generate times 0.010 seconds for a whole page
Many parts (objects) of the pages are stored in a mysql-caching table because its stoopid to use memcached/shm for caching on a shared-hosting. So you are independent of apc/memcached, have optimal caching, reduced queries and a secure setup with a great performance</description>
		<content:encoded><![CDATA[<p>&gt; APC does more then just opcode caching.<br />
&gt; You can also use it as misc object cache from inside php</p>
<p>This are still different shoes</p>
<p>And even if you cache whole pages/parts that way you should combine it with mysql-qery-cache because if your manual cache is outdated you get most time parts of it from query cache without to do anything.</p>
<p>On a good configured server with well designed applications it looks like following<br />
Up for: 2d 16h 57m 3s (7M q [32.419 qps], 224K conn, TX: 8B, RX: 1B)<br />
[OK] Key buffer hit rate: 99.7% (14M cached / 44K reads)<br />
[OK] Query cache efficiency: 87.9% (5M cached / 6M selects)</p>
<p>On this machine are 200 domains with generate times 0.010 seconds for a whole page<br />
Many parts (objects) of the pages are stored in a mysql-caching table because its stoopid to use memcached/shm for caching on a shared-hosting. So you are independent of apc/memcached, have optimal caching, reduced queries and a secure setup with a great performance</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dieter@be</title>
		<link>http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/comment-page-1/#comment-572144</link>
		<dc:creator>Dieter@be</dc:creator>
		<pubDate>Tue, 02 Jun 2009 09:10:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/#comment-572144</guid>
		<description>Reindl Harald,
APC does more then just opcode caching.  You can also use it as misc object cache from inside php, somewhat comparable to memcached but without networking and in the same process (eg no context switches) which makes it faster then memcached but less useful when you have more then 1 webserver.

Dieter</description>
		<content:encoded><![CDATA[<p>Reindl Harald,<br />
APC does more then just opcode caching.  You can also use it as misc object cache from inside php, somewhat comparable to memcached but without networking and in the same process (eg no context switches) which makes it faster then memcached but less useful when you have more then 1 webserver.</p>
<p>Dieter</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom</title>
		<link>http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/comment-page-1/#comment-546902</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Thu, 23 Apr 2009 02:22:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/#comment-546902</guid>
		<description>I am experiencing serious bottlenecks which are crashing Apache on my server and I believe they are related to mass query cache invalidation of frequently modified tables. Also I think this is more sensible as in many cases there would be cache duplication with APC with MySQL invalidating unused cached queries. I have decided to set query_cache_type to DEMAND. Fingers crossed!</description>
		<content:encoded><![CDATA[<p>I am experiencing serious bottlenecks which are crashing Apache on my server and I believe they are related to mass query cache invalidation of frequently modified tables. Also I think this is more sensible as in many cases there would be cache duplication with APC with MySQL invalidating unused cached queries. I have decided to set query_cache_type to DEMAND. Fingers crossed!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
