<?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: Mass inserting data in Rails without killing your performance</title>
	<atom:link href="http://www.coffeepowered.net/2009/01/23/mass-inserting-data-in-rails-without-killing-your-performance/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.coffeepowered.net/2009/01/23/mass-inserting-data-in-rails-without-killing-your-performance/</link>
	<description>code and content</description>
	<lastBuildDate>Tue, 12 Jan 2010 03:36:39 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Vid Luther</title>
		<link>http://www.coffeepowered.net/2009/01/23/mass-inserting-data-in-rails-without-killing-your-performance/comment-page-1/#comment-231</link>
		<dc:creator>Vid Luther</dc:creator>
		<pubDate>Fri, 07 Aug 2009 14:19:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.coffeepowered.net/?p=82#comment-231</guid>
		<description>Great post, just an FYI for all who are interested, the reason why the single mass insert in MySQL is so much faster, is because you&#039;re doing what&#039;s known as an &quot;extended insert&quot;. What this does is, tells MySQL to rebuild the index AFTER the data has been inserted, not in the middle, or after each insert.</description>
		<content:encoded><![CDATA[<p>Great post, just an FYI for all who are interested, the reason why the single mass insert in MySQL is so much faster, is because you&#8217;re doing what&#8217;s known as an &#8220;extended insert&#8221;. What this does is, tells MySQL to rebuild the index AFTER the data has been inserted, not in the middle, or after each insert.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Armstrong</title>
		<link>http://www.coffeepowered.net/2009/01/23/mass-inserting-data-in-rails-without-killing-your-performance/comment-page-1/#comment-220</link>
		<dc:creator>Brian Armstrong</dc:creator>
		<pubDate>Mon, 27 Jul 2009 03:52:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.coffeepowered.net/?p=82#comment-220</guid>
		<description>Awesome, you da man!  Thanks for sharing this.</description>
		<content:encoded><![CDATA[<p>Awesome, you da man!  Thanks for sharing this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://www.coffeepowered.net/2009/01/23/mass-inserting-data-in-rails-without-killing-your-performance/comment-page-1/#comment-205</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Tue, 16 Jun 2009 12:01:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.coffeepowered.net/?p=82#comment-205</guid>
		<description>Is it possible to tell Rails to *not* wrap Model.save in a transaction --- we&#039;re uploading large volumes of data and the BEGIN/INSERT/COMMIT is surely much slower than a simple INSERT. Anyone know how to tell Rails to not wrap a &#039;save&#039; in a transaction?</description>
		<content:encoded><![CDATA[<p>Is it possible to tell Rails to *not* wrap Model.save in a transaction &#8212; we&#8217;re uploading large volumes of data and the BEGIN/INSERT/COMMIT is surely much slower than a simple INSERT. Anyone know how to tell Rails to not wrap a &#8217;save&#8217; in a transaction?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kalivo.com - Rails Batch Inserts/updates benchmark</title>
		<link>http://www.coffeepowered.net/2009/01/23/mass-inserting-data-in-rails-without-killing-your-performance/comment-page-1/#comment-197</link>
		<dc:creator>Kalivo.com - Rails Batch Inserts/updates benchmark</dc:creator>
		<pubDate>Wed, 20 May 2009 16:52:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.coffeepowered.net/?p=82#comment-197</guid>
		<description>[...] Here is a basic benchmark of ar-extensions.  I used a slightly modified version of this script. [...]</description>
		<content:encoded><![CDATA[<p>[...] Here is a basic benchmark of ar-extensions.  I used a slightly modified version of this script. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jfromm</title>
		<link>http://www.coffeepowered.net/2009/01/23/mass-inserting-data-in-rails-without-killing-your-performance/comment-page-1/#comment-96</link>
		<dc:creator>jfromm</dc:creator>
		<pubDate>Mon, 09 Feb 2009 10:20:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.coffeepowered.net/?p=82#comment-96</guid>
		<description>Good overview.</description>
		<content:encoded><![CDATA[<p>Good overview.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Alison</title>
		<link>http://www.coffeepowered.net/2009/01/23/mass-inserting-data-in-rails-without-killing-your-performance/comment-page-1/#comment-64</link>
		<dc:creator>David Alison</dc:creator>
		<pubDate>Sat, 07 Feb 2009 09:46:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.coffeepowered.net/?p=82#comment-64</guid>
		<description>Excellent post Chris - exactly what I was looking for when I was trying to Google up solutions for bulk inserts in Rails. I appreciate you taking the time to write this down.</description>
		<content:encoded><![CDATA[<p>Excellent post Chris &#8211; exactly what I was looking for when I was trying to Google up solutions for bulk inserts in Rails. I appreciate you taking the time to write this down.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Haran</title>
		<link>http://www.coffeepowered.net/2009/01/23/mass-inserting-data-in-rails-without-killing-your-performance/comment-page-1/#comment-62</link>
		<dc:creator>Daniel Haran</dc:creator>
		<pubDate>Mon, 26 Jan 2009 13:58:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.coffeepowered.net/?p=82#comment-62</guid>
		<description>On MySQL, I used LOAD DATA LOCAL INFILE:
http://danielharan.wordpress.com/2007/06/12/ruby-activerecord-is-too-slow/</description>
		<content:encoded><![CDATA[<p>On MySQL, I used LOAD DATA LOCAL INFILE:<br />
<a href="http://danielharan.wordpress.com/2007/06/12/ruby-activerecord-is-too-slow/" rel="nofollow">http://danielharan.wordpress.com/2007/06/12/ruby-activerecord-is-too-slow/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Heald</title>
		<link>http://www.coffeepowered.net/2009/01/23/mass-inserting-data-in-rails-without-killing-your-performance/comment-page-1/#comment-61</link>
		<dc:creator>Chris Heald</dc:creator>
		<pubDate>Sat, 24 Jan 2009 18:24:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.coffeepowered.net/?p=82#comment-61</guid>
		<description>Thanks for the tip, Mike. The docs on ar-extensions seem to be a bit light!

I&#039;ll give that a shot. It&#039;s nice to stay in Ruby when at all possible!</description>
		<content:encoded><![CDATA[<p>Thanks for the tip, Mike. The docs on ar-extensions seem to be a bit light!</p>
<p>I&#8217;ll give that a shot. It&#8217;s nice to stay in Ruby when at all possible!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BJ Clark</title>
		<link>http://www.coffeepowered.net/2009/01/23/mass-inserting-data-in-rails-without-killing-your-performance/comment-page-1/#comment-60</link>
		<dc:creator>BJ Clark</dc:creator>
		<pubDate>Sat, 24 Jan 2009 14:01:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.coffeepowered.net/?p=82#comment-60</guid>
		<description>AR-Extensions is great, except that it monkey patches lots of stuff in ActiveRecord which can create crazy weird bugs if you&#039;re doing any other modifications of AR. We use Masochism (with mods) for DB load balancing, and AR-Extensions borked a bunch of stuff with it. Which ended up costing us more dev time than just doing a transaction with a big loop.</description>
		<content:encoded><![CDATA[<p>AR-Extensions is great, except that it monkey patches lots of stuff in ActiveRecord which can create crazy weird bugs if you&#8217;re doing any other modifications of AR. We use Masochism (with mods) for DB load balancing, and AR-Extensions borked a bunch of stuff with it. Which ended up costing us more dev time than just doing a transaction with a big loop.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Perham</title>
		<link>http://www.coffeepowered.net/2009/01/23/mass-inserting-data-in-rails-without-killing-your-performance/comment-page-1/#comment-59</link>
		<dc:creator>Mike Perham</dc:creator>
		<pubDate>Sat, 24 Jan 2009 13:09:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.coffeepowered.net/?p=82#comment-59</guid>
		<description>ar-extensions is great.  You didn&#039;t get the multi-insert capability because you didn&#039;t require the mysql connector extensions:

require &#039;ar-extensions/adapters/mysql&#039;
require &#039;ar-extensions/import/mysql&#039;

Also, you can get a big performance increase from ar-extensions when saving a lot of models by disabling validations:

  Model.import data, :validate =&gt; false

Yes, I&#039;ve spent a lot of time on this too.  :-)</description>
		<content:encoded><![CDATA[<p>ar-extensions is great.  You didn&#8217;t get the multi-insert capability because you didn&#8217;t require the mysql connector extensions:</p>
<p>require &#8216;ar-extensions/adapters/mysql&#8217;<br />
require &#8216;ar-extensions/import/mysql&#8217;</p>
<p>Also, you can get a big performance increase from ar-extensions when saving a lot of models by disabling validations:</p>
<p>  Model.import data, :validate =&gt; false</p>
<p>Yes, I&#8217;ve spent a lot of time on this too.  :-)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
