<?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: Introducing Multiple Clustering Indexes</title>
	<atom:link href="http://www.tokutek.com/2009/05/introducing_multiple_clustering_indexes/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tokutek.com/2009/05/introducing_multiple_clustering_indexes/</link>
	<description></description>
	<lastBuildDate>Thu, 02 Feb 2012 04:10:04 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Zardosht Kasheff</title>
		<link>http://www.tokutek.com/2009/05/introducing_multiple_clustering_indexes/#comment-3485</link>
		<dc:creator>Zardosht Kasheff</dc:creator>
		<pubDate>Thu, 22 Dec 2011 18:26:19 +0000</pubDate>
		<guid isPermaLink="false">http://introducing_multiple_clustering_indexes#comment-3485</guid>
		<description>1) Yes, this is feasible. A clustering index can be defined just as a normal index is defined. 

2) Both! For more information, see http://tokutek.com/downloads/mysqluc-2010-fractal-trees.pdf 

3a) I assume you are asking about the advantages of single column non clustering indexes, such as key(a). Such an index takes less space on disk (so that is an advantage),  but covers fewer queries. I don&#039;t think there is an advantage to single row fetches, because if the index is not covering, then this may result in 2 disk seeks, where as a covering index may answer the query in one disk seek. 

3b) I assume you are asking if there is an advantage to having both a clustering key (a) and a key(a). I see no advantage, other than for a small set of queries for which both key(a) and clustering key(a) are covering, key(a) is a little more efficient.

4) In our releases, the maximum number of columns is 32.</description>
		<content:encoded><![CDATA[<p>1) Yes, this is feasible. A clustering index can be defined just as a normal index is defined. </p>
<p>2) Both! For more information, see <a href="http://tokutek.com/downloads/mysqluc-2010-fractal-trees.pdf" rel="nofollow">http://tokutek.com/downloads/mysqluc-2010-fractal-trees.pdf</a> </p>
<p>3a) I assume you are asking about the advantages of single column non clustering indexes, such as key(a). Such an index takes less space on disk (so that is an advantage),  but covers fewer queries. I don&#8217;t think there is an advantage to single row fetches, because if the index is not covering, then this may result in 2 disk seeks, where as a covering index may answer the query in one disk seek. </p>
<p>3b) I assume you are asking if there is an advantage to having both a clustering key (a) and a key(a). I see no advantage, other than for a small set of queries for which both key(a) and clustering key(a) are covering, key(a) is a little more efficient.</p>
<p>4) In our releases, the maximum number of columns is 32.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: moses wejuli</title>
		<link>http://www.tokutek.com/2009/05/introducing_multiple_clustering_indexes/#comment-3353</link>
		<dc:creator>moses wejuli</dc:creator>
		<pubDate>Mon, 19 Dec 2011 16:26:19 +0000</pubDate>
		<guid isPermaLink="false">http://introducing_multiple_clustering_indexes#comment-3353</guid>
		<description>hi zardosht,

got a few queries for u here..

1) i know clustering indexes include all columns for the table, however, am keen to know if we can define multi-column clustering indexes for purposes of sorting e.g.
   -- create clustering index clstr_key on foo(a,b,c)
where column c is sorted relative to b, and b sorted relative to a, etc..... is this feasible?!

2) where does the index sorting happen with TokuDB? On disk or in memory? at what point do we get back to memory during this process?

3) with the advent of multiple clustering indexes per table with TokuDB, how useful are single column indexes for multi-row, multi-field result sets?  seems to me that single column indexes will only be useful for a single row fetches only, if at all!

3) what are the advantages of defining a clustering index with a column that has been defined as a single row index elsewhere? or will that only be a waste of index?

4) what is the maximum number of columns that can be defined as part of a single composite or covering index (please specify for both TokuDB and InnoDB).

thanks,

moses.</description>
		<content:encoded><![CDATA[<p>hi zardosht,</p>
<p>got a few queries for u here..</p>
<p>1) i know clustering indexes include all columns for the table, however, am keen to know if we can define multi-column clustering indexes for purposes of sorting e.g.<br />
   &#8212; create clustering index clstr_key on foo(a,b,c)<br />
where column c is sorted relative to b, and b sorted relative to a, etc&#8230;.. is this feasible?!</p>
<p>2) where does the index sorting happen with TokuDB? On disk or in memory? at what point do we get back to memory during this process?</p>
<p>3) with the advent of multiple clustering indexes per table with TokuDB, how useful are single column indexes for multi-row, multi-field result sets?  seems to me that single column indexes will only be useful for a single row fetches only, if at all!</p>
<p>3) what are the advantages of defining a clustering index with a column that has been defined as a single row index elsewhere? or will that only be a waste of index?</p>
<p>4) what is the maximum number of columns that can be defined as part of a single composite or covering index (please specify for both TokuDB and InnoDB).</p>
<p>thanks,</p>
<p>moses.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TokuDB FAQ&#160;&#124;&#160;Tokutek</title>
		<link>http://www.tokutek.com/2009/05/introducing_multiple_clustering_indexes/#comment-83</link>
		<dc:creator>TokuDB FAQ&#160;&#124;&#160;Tokutek</dc:creator>
		<pubDate>Tue, 01 Feb 2011 22:08:45 +0000</pubDate>
		<guid isPermaLink="false">http://introducing_multiple_clustering_indexes#comment-83</guid>
		<description>[...] TokuDB, we have added functionality and grammar syntax to define multiple clustered indexes. As a result, users can get the performance advantages of clustered indexes for multiple indexes.  [...] </description>
		<content:encoded><![CDATA[<p>[...] TokuDB, we have added functionality and grammar syntax to define multiple clustered indexes. As a result, users can get the performance advantages of clustered indexes for multiple indexes.  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Clustering indexes vs. Covering indexes&#160;&#124;&#160;Tokutek</title>
		<link>http://www.tokutek.com/2009/05/introducing_multiple_clustering_indexes/#comment-82</link>
		<dc:creator>Clustering indexes vs. Covering indexes&#160;&#124;&#160;Tokutek</dc:creator>
		<pubDate>Thu, 19 Aug 2010 19:45:42 +0000</pubDate>
		<guid isPermaLink="false">http://introducing_multiple_clustering_indexes#comment-82</guid>
		<description>[...] I (Zardosht) posted an entry introducing clustering indexes. Here, I elaborate on three differences between a clustering index and a covering [...] </description>
		<content:encoded><![CDATA[<p>[...] I (Zardosht) posted an entry introducing clustering indexes. Here, I elaborate on three differences between a clustering index and a covering [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: How clustering indexes sometimes help UPDATE and DELETE performance&#160;&#124;&#160;Tokutek</title>
		<link>http://www.tokutek.com/2009/05/introducing_multiple_clustering_indexes/#comment-81</link>
		<dc:creator>How clustering indexes sometimes help UPDATE and DELETE performance&#160;&#124;&#160;Tokutek</dc:creator>
		<pubDate>Thu, 19 Aug 2010 19:43:13 +0000</pubDate>
		<guid isPermaLink="false">http://introducing_multiple_clustering_indexes#comment-81</guid>
		<description>[...] recently posted a blog entry on clustering indexes, which are good for speeding up queries. Eric Day brought up the concern that clustering indexes [...] </description>
		<content:encoded><![CDATA[<p>[...] recently posted a blog entry on clustering indexes, which are good for speeding up queries. Eric Day brought up the concern that clustering indexes [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MySQL 5.1 Grammar Changes to Support Clustering Indexes&#160;&#124;&#160;Tokutek</title>
		<link>http://www.tokutek.com/2009/05/introducing_multiple_clustering_indexes/#comment-80</link>
		<dc:creator>MySQL 5.1 Grammar Changes to Support Clustering Indexes&#160;&#124;&#160;Tokutek</dc:creator>
		<pubDate>Thu, 19 Aug 2010 19:42:12 +0000</pubDate>
		<guid isPermaLink="false">http://introducing_multiple_clustering_indexes#comment-80</guid>
		<description>[...] blogging about TokuDB&#8217;s multiple clustering indexes feature, Baron Schwartz suggested we contribute the patch to allow other storage engine to [...] </description>
		<content:encoded><![CDATA[<p>[...] blogging about TokuDB&#8217;s multiple clustering indexes feature, Baron Schwartz suggested we contribute the patch to allow other storage engine to [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Improving TPC-H-like queries &#8211; Q17&#160;&#124;&#160;Tokutek</title>
		<link>http://www.tokutek.com/2009/05/introducing_multiple_clustering_indexes/#comment-79</link>
		<dc:creator>Improving TPC-H-like queries &#8211; Q17&#160;&#124;&#160;Tokutek</dc:creator>
		<pubDate>Thu, 19 Aug 2010 19:41:11 +0000</pubDate>
		<guid isPermaLink="false">http://introducing_multiple_clustering_indexes#comment-79</guid>
		<description>[...] Summary: A query like TPC-H Query 17 can be sped up by large factors by using straight_joins and clustering indexes. (This entry posted by [...] </description>
		<content:encoded><![CDATA[<p>[...] Summary: A query like TPC-H Query 17 can be sped up by large factors by using straight_joins and clustering indexes. (This entry posted by [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Callaghan</title>
		<link>http://www.tokutek.com/2009/05/introducing_multiple_clustering_indexes/#comment-78</link>
		<dc:creator>Mark Callaghan</dc:creator>
		<pubDate>Mon, 15 Mar 2010 21:19:49 +0000</pubDate>
		<guid isPermaLink="false">http://introducing_multiple_clustering_indexes#comment-78</guid>
		<description>This is very nice. I missed this post when you first wrote it. It can be used to provide much better bounds on worst-case query performance (a few disk reads versus thousands) and do a much better job at making queries &#039;online&#039;.</description>
		<content:encoded><![CDATA[<p>This is very nice. I missed this post when you first wrote it. It can be used to provide much better bounds on worst-case query performance (a few disk reads versus thousands) and do a much better job at making queries &#8216;online&#8217;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kristian Nielsen</title>
		<link>http://www.tokutek.com/2009/05/introducing_multiple_clustering_indexes/#comment-77</link>
		<dc:creator>Kristian Nielsen</dc:creator>
		<pubDate>Fri, 29 May 2009 03:07:22 +0000</pubDate>
		<guid isPermaLink="false">http://introducing_multiple_clustering_indexes#comment-77</guid>
		<description>Ah, now I think I see the difference between this and normal covering indexes. The difference here is that the extra fields are only stored in the leaf nodes (assuming Btree index). The keys in interior nodes need not store the extra fields, unlike in traditional covering indexes where the extra fields needlessly increase the key size proper.

That might be useful, especially when the row size is much bigger than the key size (not at all uncommon).</description>
		<content:encoded><![CDATA[<p>Ah, now I think I see the difference between this and normal covering indexes. The difference here is that the extra fields are only stored in the leaf nodes (assuming Btree index). The keys in interior nodes need not store the extra fields, unlike in traditional covering indexes where the extra fields needlessly increase the key size proper.</p>
<p>That might be useful, especially when the row size is much bigger than the key size (not at all uncommon).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Zardosht Kasheff</title>
		<link>http://www.tokutek.com/2009/05/introducing_multiple_clustering_indexes/#comment-76</link>
		<dc:creator>Zardosht Kasheff</dc:creator>
		<pubDate>Thu, 28 May 2009 23:59:45 +0000</pubDate>
		<guid isPermaLink="false">http://introducing_multiple_clustering_indexes#comment-76</guid>
		<description>@Venu, with TokuDB, we typically measure compression ratios of 3x to 12x relative to the amount of raw data in a table.  Since a clustering index is another copy of the table in a different sort order, it will probably consume somewhere between 1/3 and 1/12 of the table&#039;s raw data size.</description>
		<content:encoded><![CDATA[<p>@Venu, with TokuDB, we typically measure compression ratios of 3x to 12x relative to the amount of raw data in a table.  Since a clustering index is another copy of the table in a different sort order, it will probably consume somewhere between 1/3 and 1/12 of the table&#8217;s raw data size.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

