<?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>Commentaires sur : Les covering index, de la théorie à la pratique avec MyISAM et InnoDB</title>
	<atom:link href="http://www.dbnewz.com/2008/11/20/les-covering-index-de-la-theorie-a-la-pratique-avec-myisam-et-innodb/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dbnewz.com/2008/11/20/les-covering-index-de-la-theorie-a-la-pratique-avec-myisam-et-innodb/</link>
	<description>le blog français sur les SGBD - MySQL, Oracle et plus...</description>
	<lastBuildDate>Wed, 28 Jul 2010 14:54:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Par : Olivier DASINI</title>
		<link>http://www.dbnewz.com/2008/11/20/les-covering-index-de-la-theorie-a-la-pratique-avec-myisam-et-innodb/comment-page-1/#comment-1211</link>
		<dc:creator>Olivier DASINI</dc:creator>
		<pubDate>Tue, 08 Dec 2009 16:55:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbnewz.com/?p=134#comment-1211</guid>
		<description>Salut, 
effectivement Arnaud à raison, l&#039;ordre de l&#039;index est important. Son premier élément doit être le champ du group by.
++

Olivier</description>
		<content:encoded><![CDATA[<p>Salut,<br />
effectivement Arnaud à raison, l&#8217;ordre de l&#8217;index est important. Son premier élément doit être le champ du group by.<br />
++</p>
<p>Olivier</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Arnaud</title>
		<link>http://www.dbnewz.com/2008/11/20/les-covering-index-de-la-theorie-a-la-pratique-avec-myisam-et-innodb/comment-page-1/#comment-1210</link>
		<dc:creator>Arnaud</dc:creator>
		<pubDate>Tue, 08 Dec 2009 07:54:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbnewz.com/?p=134#comment-1210</guid>
		<description>Bonjour,

Effectivement c&#039;est interessant, a premiere vue j&#039;aurais sans doute placé mes index comme tu l&#039;as fait... Peux-tu poster ici un show create table from videos ainsi qu&#039;un show index from videos ?

Apres avoir relu l&#039;exemple que tu cites sur le blog d&#039;Olivier, je me rends compte que lui a finalement retenu un index où le group by (le responsable de ta table temp) est en premiere position, donc en toute &quot;logique&quot; je te conseillerais d&#039;appliquer la meme idee histoire de voir ? Tente un index sur (genre, enable, type) par exemple.

L&#039;idee du show index est aussi de voir si vraiment tu as besoin d&#039;un index sur les 3 colonnes... Si par exemple &quot;enable&quot; est tres peu selectif contrairement a &quot;type&quot;, je pense que tu peux te permettre de n&#039;en garder que deux, a voir.

Par ailleurs un test que je ferai aussi histoire de voir c&#039;est un alter table videos order by genre, afin d&#039;avoir ma table deja toute ordonnee selon le genre (si tu es en myisam). Je ne sais pas si l&#039;optimiseur s&#039;en rendrait compte et eliminerait le tri que tu constates. (A ne tenter que si ta table n&#039;est pas enorme, a des fins de test).

Tiens nous au courant...</description>
		<content:encoded><![CDATA[<p>Bonjour,</p>
<p>Effectivement c&#8217;est interessant, a premiere vue j&#8217;aurais sans doute placé mes index comme tu l&#8217;as fait&#8230; Peux-tu poster ici un show create table from videos ainsi qu&#8217;un show index from videos ?</p>
<p>Apres avoir relu l&#8217;exemple que tu cites sur le blog d&#8217;Olivier, je me rends compte que lui a finalement retenu un index où le group by (le responsable de ta table temp) est en premiere position, donc en toute &laquo;&nbsp;logique&nbsp;&raquo; je te conseillerais d&#8217;appliquer la meme idee histoire de voir ? Tente un index sur (genre, enable, type) par exemple.</p>
<p>L&#8217;idee du show index est aussi de voir si vraiment tu as besoin d&#8217;un index sur les 3 colonnes&#8230; Si par exemple &laquo;&nbsp;enable&nbsp;&raquo; est tres peu selectif contrairement a &laquo;&nbsp;type&nbsp;&raquo;, je pense que tu peux te permettre de n&#8217;en garder que deux, a voir.</p>
<p>Par ailleurs un test que je ferai aussi histoire de voir c&#8217;est un alter table videos order by genre, afin d&#8217;avoir ma table deja toute ordonnee selon le genre (si tu es en myisam). Je ne sais pas si l&#8217;optimiseur s&#8217;en rendrait compte et eliminerait le tri que tu constates. (A ne tenter que si ta table n&#8217;est pas enorme, a des fins de test).</p>
<p>Tiens nous au courant&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : olive</title>
		<link>http://www.dbnewz.com/2008/11/20/les-covering-index-de-la-theorie-a-la-pratique-avec-myisam-et-innodb/comment-page-1/#comment-1209</link>
		<dc:creator>olive</dc:creator>
		<pubDate>Sat, 05 Dec 2009 16:46:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbnewz.com/?p=134#comment-1209</guid>
		<description>bonjour,

merci pour cette explication limpide, j&#039;ai cepandant une question, que se passe t&#039;il dans le cas d&#039;un select à plusieurs WHERE ? du genre:


SELECT genre, count(*) as c FROM `videos` WHERE videos.enable=1 AND videos.type=0 Group by genre


si je place un index composé comme suit:
alter table videos add index Idx_enable_type_genre(enable, type, genre)

j&#039;ai bien un using index mais mysql créé quand même une temporary table or dans cet exemple: http://dasini.net/blog/2009/02/18/optimisation-de-requetes-comprendre-loptimiseur-de-mysql/ on devrait pouvoir arriver à faire sans.

Une petite idée ?</description>
		<content:encoded><![CDATA[<p>bonjour,</p>
<p>merci pour cette explication limpide, j&#8217;ai cepandant une question, que se passe t&#8217;il dans le cas d&#8217;un select à plusieurs WHERE ? du genre:</p>
<p>SELECT genre, count(*) as c FROM `videos` WHERE videos.enable=1 AND videos.type=0 Group by genre</p>
<p>si je place un index composé comme suit:<br />
alter table videos add index Idx_enable_type_genre(enable, type, genre)</p>
<p>j&#8217;ai bien un using index mais mysql créé quand même une temporary table or dans cet exemple: <a href="http://dasini.net/blog/2009/02/18/optimisation-de-requetes-comprendre-loptimiseur-de-mysql/" rel="nofollow">http://dasini.net/blog/2009/02/18/optimisation-de-requetes-comprendre-loptimiseur-de-mysql/</a> on devrait pouvoir arriver à faire sans.</p>
<p>Une petite idée ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : dbnewz &#187; Blog Archive &#187; dbnewz présent à la MySQL Conference 2009</title>
		<link>http://www.dbnewz.com/2008/11/20/les-covering-index-de-la-theorie-a-la-pratique-avec-myisam-et-innodb/comment-page-1/#comment-990</link>
		<dc:creator>dbnewz &#187; Blog Archive &#187; dbnewz présent à la MySQL Conference 2009</dc:creator>
		<pubDate>Sat, 04 Apr 2009 16:49:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbnewz.com/?p=134#comment-990</guid>
		<description>[...] avec notamment celle de Stéphane Combaudon, un lecteur de ce blog, qui nous parlera en détail des covering index. A ne pas rater   Autres billets susceptibles de vous int&#233;resser :dbnewz au salon [...]</description>
		<content:encoded><![CDATA[<p>[...] avec notamment celle de Stéphane Combaudon, un lecteur de ce blog, qui nous parlera en détail des covering index. A ne pas rater   Autres billets susceptibles de vous int&eacute;resser :dbnewz au salon [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : dbnewz &#187; Blog Archive &#187; le trigger au secours des function-based index (FBI)</title>
		<link>http://www.dbnewz.com/2008/11/20/les-covering-index-de-la-theorie-a-la-pratique-avec-myisam-et-innodb/comment-page-1/#comment-988</link>
		<dc:creator>dbnewz &#187; Blog Archive &#187; le trigger au secours des function-based index (FBI)</dc:creator>
		<pubDate>Wed, 01 Apr 2009 22:26:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbnewz.com/?p=134#comment-988</guid>
		<description>[...] sommes dans le cas d&#8217;un covering index mais celui-ci n&#8217;est pas hélas pas d&#8217;une grande utilité sur la machine perso [...]</description>
		<content:encoded><![CDATA[<p>[...] sommes dans le cas d&#8217;un covering index mais celui-ci n&#8217;est pas hélas pas d&#8217;une grande utilité sur la machine perso [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : StephaneC</title>
		<link>http://www.dbnewz.com/2008/11/20/les-covering-index-de-la-theorie-a-la-pratique-avec-myisam-et-innodb/comment-page-1/#comment-978</link>
		<dc:creator>StephaneC</dc:creator>
		<pubDate>Fri, 23 Jan 2009 16:41:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbnewz.com/?p=134#comment-978</guid>
		<description>Eh oui, justement, je suis en train de chercher un exemple pour ma session, et c&#039;est pas facile facile tout ça !!!
Heureusement, il me reste 2 mois et demi pour qu&#039;une idée lumineuse me vienne ;-)</description>
		<content:encoded><![CDATA[<p>Eh oui, justement, je suis en train de chercher un exemple pour ma session, et c&#8217;est pas facile facile tout ça !!!<br />
Heureusement, il me reste 2 mois et demi pour qu&#8217;une idée lumineuse me vienne <img src='http://www.dbnewz.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Arnaud</title>
		<link>http://www.dbnewz.com/2008/11/20/les-covering-index-de-la-theorie-a-la-pratique-avec-myisam-et-innodb/comment-page-1/#comment-977</link>
		<dc:creator>Arnaud</dc:creator>
		<pubDate>Fri, 23 Jan 2009 14:32:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbnewz.com/?p=134#comment-977</guid>
		<description>Merci Stéphane pour cette précision.

Ca promet pour ta session à Santa Clara ;) Avec un peu de chance Pascal et moi y serons, comme l&#039;an passé !</description>
		<content:encoded><![CDATA[<p>Merci Stéphane pour cette précision.</p>
<p>Ca promet pour ta session à Santa Clara <img src='http://www.dbnewz.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Avec un peu de chance Pascal et moi y serons, comme l&#8217;an passé !</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : StephaneC</title>
		<link>http://www.dbnewz.com/2008/11/20/les-covering-index-de-la-theorie-a-la-pratique-avec-myisam-et-innodb/comment-page-1/#comment-976</link>
		<dc:creator>StephaneC</dc:creator>
		<pubDate>Fri, 23 Jan 2009 13:34:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbnewz.com/?p=134#comment-976</guid>
		<description>Un petit détail supplémentaire : il peut arriver dans certaines conditions qu&#039;en triturant la requête pour qu&#039;elle utilise un covering index, la requête réécrite (donc avec les covering index) soit moins efficace que la requête initiale.
Le cas typique, c&#039;est quand on utilise une sous-requête en vue de l&#039;utilisation d&#039;un covering index mais que cette sous-requête est lente.
Evidemment, ce cas de figure est plutôt rare, mais c&#039;est juste pour signaler que comme toute optimisation, les covering index ont aussi des contre-indications.</description>
		<content:encoded><![CDATA[<p>Un petit détail supplémentaire : il peut arriver dans certaines conditions qu&#8217;en triturant la requête pour qu&#8217;elle utilise un covering index, la requête réécrite (donc avec les covering index) soit moins efficace que la requête initiale.<br />
Le cas typique, c&#8217;est quand on utilise une sous-requête en vue de l&#8217;utilisation d&#8217;un covering index mais que cette sous-requête est lente.<br />
Evidemment, ce cas de figure est plutôt rare, mais c&#8217;est juste pour signaler que comme toute optimisation, les covering index ont aussi des contre-indications.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Arnaud</title>
		<link>http://www.dbnewz.com/2008/11/20/les-covering-index-de-la-theorie-a-la-pratique-avec-myisam-et-innodb/comment-page-1/#comment-958</link>
		<dc:creator>Arnaud</dc:creator>
		<pubDate>Sat, 20 Dec 2008 12:01:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbnewz.com/?p=134#comment-958</guid>
		<description>Salut tsyr,

Je n&#039;ai pas d&#039;exemple sous les yeux mais je ne vois pas pourquoi on ne pourrait pas rentrer dans des cas de covering index également avec les clés étrangères ? Le fait qu&#039;on puisse définir des clés étrangères composées facilite la tâche je pense non ? Je suis preneur si tu as un cas où tu penses que cela n&#039;est pas possible, j&#039;y jetterai un oeil.</description>
		<content:encoded><![CDATA[<p>Salut tsyr,</p>
<p>Je n&#8217;ai pas d&#8217;exemple sous les yeux mais je ne vois pas pourquoi on ne pourrait pas rentrer dans des cas de covering index également avec les clés étrangères ? Le fait qu&#8217;on puisse définir des clés étrangères composées facilite la tâche je pense non ? Je suis preneur si tu as un cas où tu penses que cela n&#8217;est pas possible, j&#8217;y jetterai un oeil.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : tsyr</title>
		<link>http://www.dbnewz.com/2008/11/20/les-covering-index-de-la-theorie-a-la-pratique-avec-myisam-et-innodb/comment-page-1/#comment-957</link>
		<dc:creator>tsyr</dc:creator>
		<pubDate>Fri, 19 Dec 2008 20:31:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbnewz.com/?p=134#comment-957</guid>
		<description>Dommage qu&#039;on ne puisse mixer les covering index avec les index requis par MySQL pour les foreign keys ...
En tout cas, encore merci pour cet article très intéressant.</description>
		<content:encoded><![CDATA[<p>Dommage qu&#8217;on ne puisse mixer les covering index avec les index requis par MySQL pour les foreign keys &#8230;<br />
En tout cas, encore merci pour cet article très intéressant.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
