<?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: Quickly preloading Innodb tables in the buffer pool</title>
	<atom:link href="http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/</link>
	<description>Everything about MySQL Performance</description>
	<lastBuildDate>Sat, 21 Nov 2009 05:23:57 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/comment-page-1/#comment-458484</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Wed, 28 Jan 2009 19:26:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/#comment-458484</guid>
		<description>Mark,

This is nice patch but it is a patch. Plus also it is proof of concept so I&#039;m not sure it is good enough to be used widely in production.  Note as long as you start messing with data such a way you&#039;ve got to deal with a lot of niche cases to make things work 100%  - for example what happens if you crash during writing dump file ? How to deal with such file potential corruptions (store checkums and validate them) etc.  But in general it is nice idea for many workloads.</description>
		<content:encoded><![CDATA[<p>Mark,</p>
<p>This is nice patch but it is a patch. Plus also it is proof of concept so I&#8217;m not sure it is good enough to be used widely in production.  Note as long as you start messing with data such a way you&#8217;ve got to deal with a lot of niche cases to make things work 100%  &#8211; for example what happens if you crash during writing dump file ? How to deal with such file potential corruptions (store checkums and validate them) etc.  But in general it is nice idea for many workloads.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Rose</title>
		<link>http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/comment-page-1/#comment-458453</link>
		<dc:creator>Mark Rose</dc:creator>
		<pubDate>Wed, 28 Jan 2009 18:11:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/#comment-458453</guid>
		<description>There&#039;s an interesting patch to partially solve this problem: http://provenscaling.com/blog/2008/10/06/making-mysql-more-usable-innodb-saverestore-buffer-pool-patch/</description>
		<content:encoded><![CDATA[<p>There&#8217;s an interesting patch to partially solve this problem: <a href="http://provenscaling.com/blog/2008/10/06/making-mysql-more-usable-innodb-saverestore-buffer-pool-patch/" rel="nofollow">http://provenscaling.com/blog/2008/10/06/making-mysql-more-usable-innodb-saverestore-buffer-pool-patch/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jim</title>
		<link>http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/comment-page-1/#comment-296513</link>
		<dc:creator>jim</dc:creator>
		<pubDate>Wed, 07 May 2008 22:46:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/#comment-296513</guid>
		<description>couldn&#039;t you use kevin&#039;s blackhole idea, but by creating a temporary blackhole table using create/select?

CREATE TEMPORARY TABLE blackhole_foo ENGINE = BLACKHOLE SELECT * FROM foo ORDER BY id

it does seem a shame that &#039;create table like&#039; doesn&#039;t allow for specifying the engine.</description>
		<content:encoded><![CDATA[<p>couldn&#8217;t you use kevin&#8217;s blackhole idea, but by creating a temporary blackhole table using create/select?</p>
<p>CREATE TEMPORARY TABLE blackhole_foo ENGINE = BLACKHOLE SELECT * FROM foo ORDER BY id</p>
<p>it does seem a shame that &#8216;create table like&#8217; doesn&#8217;t allow for specifying the engine.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Burton</title>
		<link>http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/comment-page-1/#comment-293941</link>
		<dc:creator>Kevin Burton</dc:creator>
		<pubDate>Mon, 05 May 2008 03:31:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/#comment-293941</guid>
		<description>Venu,

This only works for tables that fit 100% in memory.  Some people use the LRU semantics to cache their data.

It&#039;s harder to get this working as you have to &#039;warm up&#039; a box with new load.

One way to this could be to slowly expose it to more and more traffic.

Kevin</description>
		<content:encoded><![CDATA[<p>Venu,</p>
<p>This only works for tables that fit 100% in memory.  Some people use the LRU semantics to cache their data.</p>
<p>It&#8217;s harder to get this working as you have to &#8216;warm up&#8217; a box with new load.</p>
<p>One way to this could be to slowly expose it to more and more traffic.</p>
<p>Kevin</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: venu</title>
		<link>http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/comment-page-1/#comment-293895</link>
		<dc:creator>venu</dc:creator>
		<pubDate>Mon, 05 May 2008 02:19:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/#comment-293895</guid>
		<description>It will be nice if InnoDB/MySQL can implement something like ...

innodb_pre_load_tables=List_of_tables

as configuration variable allowing frequently used tables to be loaded (provided it fits)

Along with something like ..

PRELOAD [FULL] TABLE foo</description>
		<content:encoded><![CDATA[<p>It will be nice if InnoDB/MySQL can implement something like &#8230;</p>
<p>innodb_pre_load_tables=List_of_tables</p>
<p>as configuration variable allowing frequently used tables to be loaded (provided it fits)</p>
<p>Along with something like ..</p>
<p>PRELOAD [FULL] TABLE foo</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/comment-page-1/#comment-293112</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Sun, 04 May 2008 04:52:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/#comment-293112</guid>
		<description>Kevin,

Too many statements :)  I&#039;m also wondering if it is faster or slower than count() query as it has to go through insert code path at least on server side. 

There are two other potential issues - it is possible for not innodb tables (or not primary keys) last query to pick to do filesort instead of table scan.  Plus if you repeat the thing for bunch of indexes you will have considerable overhead by accessing row each time, not traversing index only.</description>
		<content:encoded><![CDATA[<p>Kevin,</p>
<p>Too many statements <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   I&#8217;m also wondering if it is faster or slower than count() query as it has to go through insert code path at least on server side. </p>
<p>There are two other potential issues &#8211; it is possible for not innodb tables (or not primary keys) last query to pick to do filesort instead of table scan.  Plus if you repeat the thing for bunch of indexes you will have considerable overhead by accessing row each time, not traversing index only.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Burton</title>
		<link>http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/comment-page-1/#comment-292511</link>
		<dc:creator>Kevin Burton</dc:creator>
		<pubDate>Sat, 03 May 2008 07:05:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/#comment-292511</guid>
		<description>I used the BLACKHOLE storage engine for this.  The only thing it&#039;s really good for...

on bootup just run

CREATE TABLE BLACKHOLE_FOO LIKE FOO;
ALTER TABLE BLACKHOLE_FOO ENGINE = BLACKHOLE;
SELECT * FROM FOO ORDER BY ID INTO BLACKHOLE_FOO;

and repeat for every index.

If your tables all fit into memory you&#039;ll be loaded in seconds.</description>
		<content:encoded><![CDATA[<p>I used the BLACKHOLE storage engine for this.  The only thing it&#8217;s really good for&#8230;</p>
<p>on bootup just run</p>
<p>CREATE TABLE BLACKHOLE_FOO LIKE FOO;<br />
ALTER TABLE BLACKHOLE_FOO ENGINE = BLACKHOLE;<br />
SELECT * FROM FOO ORDER BY ID INTO BLACKHOLE_FOO;</p>
<p>and repeat for every index.</p>
<p>If your tables all fit into memory you&#8217;ll be loaded in seconds.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Keith Murphy</title>
		<link>http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/comment-page-1/#comment-291955</link>
		<dc:creator>Keith Murphy</dc:creator>
		<pubDate>Fri, 02 May 2008 15:12:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2008/05/01/quickly-preloading-innodb-tables-in-the-buffer-pool/#comment-291955</guid>
		<description>Thanks!! That is very helpful.</description>
		<content:encoded><![CDATA[<p>Thanks!! That is very helpful.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
