<?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: Vacuuming Mail&#8217;s Envelope Index to make Mail faster (and Aperture, too)</title>
	<atom:link href="http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/</link>
	<description>...so google can index my head.</description>
	<lastBuildDate>Mon, 15 Mar 2010 11:48:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Sulayman</title>
		<link>http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/comment-page-1/#comment-190529</link>
		<dc:creator>Sulayman</dc:creator>
		<pubDate>Thu, 23 Apr 2009 00:15:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/#comment-190529</guid>
		<description>Does anyone know if this trick works in 10.5 and beyond?</description>
		<content:encoded><![CDATA[<p>Does anyone know if this trick works in 10.5 and beyond?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Optimizing Mail.app index &#187; Torsten Curdt&#8217;s weblog</title>
		<link>http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/comment-page-1/#comment-187419</link>
		<dc:creator>Optimizing Mail.app index &#187; Torsten Curdt&#8217;s weblog</dc:creator>
		<pubDate>Tue, 06 May 2008 08:01:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/#comment-187419</guid>
		<description>[...] more details see this blog post or hawk [...]</description>
		<content:encoded><![CDATA[<p>[...] more details see this blog post or hawk [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter da Silva</title>
		<link>http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/comment-page-1/#comment-184360</link>
		<dc:creator>Peter da Silva</dc:creator>
		<pubDate>Wed, 02 Jan 2008 15:37:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/#comment-184360</guid>
		<description>Here&#039;s a script to do the whole thing. Hole all the formatting survives.

#!/bin/sh

integrity_check() {
  /usr/bin/sqlite3 &quot;$HOME/Library/Mail/Envelope Index&quot; &quot;PRAGMA integrity_check;&quot; 2&gt;&amp;1
}

case &quot;`integrity_check`&quot; in
  ok) ;;
  *)
    echo &quot;Integrity check failed.&quot; &gt;&amp;2
    echo &quot;$integrity_check&quot; &gt;&amp;2
    exit 1
    ;;
esac

/usr/bin/sqlite3 &quot;$HOME/Library/Mail/Envelope Index&quot; &quot;vacuum;&quot;</description>
		<content:encoded><![CDATA[<p>Here&#8217;s a script to do the whole thing. Hole all the formatting survives.</p>
<p>#!/bin/sh</p>
<p>integrity_check() {<br />
  /usr/bin/sqlite3 &#8220;$HOME/Library/Mail/Envelope Index&#8221; &#8220;PRAGMA integrity_check;&#8221; 2&gt;&amp;1<br />
}</p>
<p>case &#8220;`integrity_check`&#8221; in<br />
  ok) ;;<br />
  *)<br />
    echo &#8220;Integrity check failed.&#8221; &gt;&amp;2<br />
    echo &#8220;$integrity_check&#8221; &gt;&amp;2<br />
    exit 1<br />
    ;;<br />
esac</p>
<p>/usr/bin/sqlite3 &#8220;$HOME/Library/Mail/Envelope Index&#8221; &#8220;vacuum;&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Roma</title>
		<link>http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/comment-page-1/#comment-147645</link>
		<dc:creator>Roma</dc:creator>
		<pubDate>Mon, 03 Sep 2007 16:19:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/#comment-147645</guid>
		<description>Size of my Envelope Index file in unchanged but my Mail loads much faster now, thank you</description>
		<content:encoded><![CDATA[<p>Size of my Envelope Index file in unchanged but my Mail loads much faster now, thank you</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Web 2.0 Announcer</title>
		<link>http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/comment-page-1/#comment-117941</link>
		<dc:creator>Web 2.0 Announcer</dc:creator>
		<pubDate>Tue, 12 Jun 2007 21:14:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/#comment-117941</guid>
		<description>&lt;strong&gt;Why vacuuming Mail&#039;s envelope index makes Mail faster&lt;/strong&gt;

[...][...]</description>
		<content:encoded><![CDATA[<p><strong>Why vacuuming Mail&#39;s envelope index makes Mail faster</strong></p>
<p>[...][...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonno Riekwel &#124; Make Mail.app faster</title>
		<link>http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/comment-page-1/#comment-108492</link>
		<dc:creator>Jonno Riekwel &#124; Make Mail.app faster</dc:creator>
		<pubDate>Fri, 11 May 2007 14:16:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/#comment-108492</guid>
		<description>[...] master Jan told me about this neat little Terminal code he found at &#8216;bbum&#8217;s weblog-o-mat&#8216;. It makes your Mail.app a little [...]</description>
		<content:encoded><![CDATA[<p>[...] master Jan told me about this neat little Terminal code he found at &#8216;bbum&#8217;s weblog-o-mat&#8216;. It makes your Mail.app a little [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ruggero.blog &#187; Blog Archive &#187; Speed up your Mail.app by optimizing the datamase index</title>
		<link>http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/comment-page-1/#comment-86039</link>
		<dc:creator>Ruggero.blog &#187; Blog Archive &#187; Speed up your Mail.app by optimizing the datamase index</dc:creator>
		<pubDate>Wed, 14 Mar 2007 09:57:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/#comment-86039</guid>
		<description>[...] optimizes the database of your Mail.app. You can find a more detailed description of how it is done here.    Bookmark this: These icons link to social bookmarking sites where readers can share and [...]</description>
		<content:encoded><![CDATA[<p>[...] optimizes the database of your Mail.app. You can find a more detailed description of how it is done here.    Bookmark this: These icons link to social bookmarking sites where readers can share and [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bbum</title>
		<link>http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/comment-page-1/#comment-85229</link>
		<dc:creator>bbum</dc:creator>
		<pubDate>Mon, 12 Mar 2007 02:09:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/#comment-85229</guid>
		<description>&lt;i&gt;What apps use SQLite?&lt;/i&gt;  Not sure.  Look for &#039;sqlite3&#039; in the header.

None of the iTunes slowness you describe is due to any kind of database issue.  As a matter of fact, iTunes&#039; database needs are really minor.  It only has to search on a fairly limited and highly compressable set of metadata  to perform the database oriented operations of the UI.   iTunes database, by and large, can easily fit in memory without putting undue stress on the system.

Could iTunes use SQLite and gain a performance improvement?  Maybe so, probably not though, certainly, it would gain scalability.

The kinds of &quot;refine as user types&quot; searches that iTunes uses really do not lend themselves to SQL based searches unless you do a lot of optimization work.   If your data set is small enough to fit into memory (with some likely pruning of less commonly searched information), you are far better off optimizing your search-as-type around in memory data structure traversal.</description>
		<content:encoded><![CDATA[<p><i>What apps use SQLite?</i>  Not sure.  Look for &#8217;sqlite3&#8242; in the header.</p>
<p>None of the iTunes slowness you describe is due to any kind of database issue.  As a matter of fact, iTunes&#8217; database needs are really minor.  It only has to search on a fairly limited and highly compressable set of metadata  to perform the database oriented operations of the UI.   iTunes database, by and large, can easily fit in memory without putting undue stress on the system.</p>
<p>Could iTunes use SQLite and gain a performance improvement?  Maybe so, probably not though, certainly, it would gain scalability.</p>
<p>The kinds of &#8220;refine as user types&#8221; searches that iTunes uses really do not lend themselves to SQL based searches unless you do a lot of optimization work.   If your data set is small enough to fit into memory (with some likely pruning of less commonly searched information), you are far better off optimizing your search-as-type around in memory data structure traversal.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Maynard Handley</title>
		<link>http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/comment-page-1/#comment-85214</link>
		<dc:creator>Maynard Handley</dc:creator>
		<pubDate>Mon, 12 Mar 2007 00:39:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/#comment-85214</guid>
		<description>I second the query regarding what apps use SQLite. Specifically does iTunes use it? And if not, why not?
iTunes seems to have changed its database engine in iTunes 7, when it went from being a really zippy app to being a freaking slow as molasses app. 

I salute the desire to use a real database that, presumably, provides database integrity, since I have seen quite a few complaints in earlier versions about the iTunes database getting corrupted. But I question why the iTunes database has to be so damn slow. For all my complaints about the slowness of Mail, iT seems far worse, especially in the apparent random mindlessness of when it just times out for a minute or two doing god knows what, but not accepting any input.

I tried, in an act of bravery, to run this same SQLite vacuum command on the iTunes. sqlite3 told me that the database was in an encrypted format --- which for all I know may mean what it says, that iTunes, for god knows what DRM reasons is encrypting the database, or may be the generic error SQLite throws up when given any file that isn&#039;t a SQLite database.

So what&#039;s the score here? Does iT use SQLite? Have they at least made an effort to use a real database engine that is reasonably fast, or did they just cobble together their own engine because god forbid they code like wimps and actually admit that someone else might be better able to solve a problem than themselves? Did they say &quot;Core Data is nice, but we have to run on Windows, so screw you&quot; rather than at least looking into what it would take to move the relevant parts of Core Data to Windows?</description>
		<content:encoded><![CDATA[<p>I second the query regarding what apps use SQLite. Specifically does iTunes use it? And if not, why not?<br />
iTunes seems to have changed its database engine in iTunes 7, when it went from being a really zippy app to being a freaking slow as molasses app. </p>
<p>I salute the desire to use a real database that, presumably, provides database integrity, since I have seen quite a few complaints in earlier versions about the iTunes database getting corrupted. But I question why the iTunes database has to be so damn slow. For all my complaints about the slowness of Mail, iT seems far worse, especially in the apparent random mindlessness of when it just times out for a minute or two doing god knows what, but not accepting any input.</p>
<p>I tried, in an act of bravery, to run this same SQLite vacuum command on the iTunes. sqlite3 told me that the database was in an encrypted format &#8212; which for all I know may mean what it says, that iTunes, for god knows what DRM reasons is encrypting the database, or may be the generic error SQLite throws up when given any file that isn&#8217;t a SQLite database.</p>
<p>So what&#8217;s the score here? Does iT use SQLite? Have they at least made an effort to use a real database engine that is reasonably fast, or did they just cobble together their own engine because god forbid they code like wimps and actually admit that someone else might be better able to solve a problem than themselves? Did they say &#8220;Core Data is nice, but we have to run on Windows, so screw you&#8221; rather than at least looking into what it would take to move the relevant parts of Core Data to Windows?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nir Soffer</title>
		<link>http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/comment-page-1/#comment-83005</link>
		<dc:creator>Nir Soffer</dc:creator>
		<pubDate>Tue, 06 Mar 2007 22:16:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.friday.com/bbum/2007/03/02/vacuuming-mails-envelope-index-to-make-mail-faster/#comment-83005</guid>
		<description>Garret, I&#039;m sure sqlite3 from MacPorts somehow corrupted my envelope index :-) I tried this twice.</description>
		<content:encoded><![CDATA[<p>Garret, I&#8217;m sure sqlite3 from MacPorts somehow corrupted my envelope index <img src='http://www.friday.com/bbum/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  I tried this twice.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
