<?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: mysql rządzi? indeksy pokrywające</title>
	<atom:link href="http://www.depesz.com/index.php/2007/01/27/mysql-rzadzi-indeksy-pokrywajace/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.depesz.com/index.php/2007/01/27/mysql-rzadzi-indeksy-pokrywajace/</link>
	<description></description>
	<lastBuildDate>Thu, 29 Jul 2010 21:40:44 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: depesz</title>
		<link>http://www.depesz.com/index.php/2007/01/27/mysql-rzadzi-indeksy-pokrywajace/comment-page-1/#comment-19907</link>
		<dc:creator>depesz</dc:creator>
		<pubDate>Sat, 25 Aug 2007 11:43:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.depesz.com/index.php/2007/01/27/mysql-rzadzi-indeksy-pokrywajace/#comment-19907</guid>
		<description>@Łukasz:
nie. indeks na wielu kolumnach to standarowa sprawa dostępna wszędzie.
indeks pokrywający polega na tym, że silnik bazodanowy nie musi już sięgać do danych z tabeli by wykonać zapytanie i zwrócić dane, bo dane jakie ma zwrócić są gotowe w indeksie.</description>
		<content:encoded><![CDATA[<p>@Łukasz:<br />
nie. indeks na wielu kolumnach to standarowa sprawa dostępna wszędzie.<br />
indeks pokrywający polega na tym, że silnik bazodanowy nie musi już sięgać do danych z tabeli by wykonać zapytanie i zwrócić dane, bo dane jakie ma zwrócić są gotowe w indeksie.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Łukasz</title>
		<link>http://www.depesz.com/index.php/2007/01/27/mysql-rzadzi-indeksy-pokrywajace/comment-page-1/#comment-19906</link>
		<dc:creator>Łukasz</dc:creator>
		<pubDate>Sat, 25 Aug 2007 11:38:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.depesz.com/index.php/2007/01/27/mysql-rzadzi-indeksy-pokrywajace/#comment-19906</guid>
		<description>czyli pokrycie oznacza nałożenie indexów na przynajmniej 2 kolumny ?
sory jesli nie zrozumiałem i zadałem banalne pytanie
&lt;a href=&quot;http://www.fotkaplus.pl&quot; rel=&quot;nofollow&quot;&gt;Łukasz&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>czyli pokrycie oznacza nałożenie indexów na przynajmniej 2 kolumny ?<br />
sory jesli nie zrozumiałem i zadałem banalne pytanie<br />
<a href="http://www.fotkaplus.pl" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/www.fotkaplus.pl?referer=');">Łukasz</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Antek</title>
		<link>http://www.depesz.com/index.php/2007/01/27/mysql-rzadzi-indeksy-pokrywajace/comment-page-1/#comment-3478</link>
		<dc:creator>Antek</dc:creator>
		<pubDate>Mon, 29 Jan 2007 11:30:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.depesz.com/index.php/2007/01/27/mysql-rzadzi-indeksy-pokrywajace/#comment-3478</guid>
		<description>Dzieki za wyjasnienie, chyba to widzę.</description>
		<content:encoded><![CDATA[<p>Dzieki za wyjasnienie, chyba to widzę.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: depesz</title>
		<link>http://www.depesz.com/index.php/2007/01/27/mysql-rzadzi-indeksy-pokrywajace/comment-page-1/#comment-3470</link>
		<dc:creator>depesz</dc:creator>
		<pubDate>Mon, 29 Jan 2007 09:15:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.depesz.com/index.php/2007/01/27/mysql-rzadzi-indeksy-pokrywajace/#comment-3470</guid>
		<description>sorry, może to nie było jasne. indeks pokrywający nie pokrywa agregatów.
to działa trochę inaczej.
załóżmy, że mamy zapytanie:
select a from t where b = ?;
i mamy indeks na t (b);
system korzysta z indeksu by znaleźć odpowiednią krotkę w tabeli, potem wyszukuje ją w pliku tabeli i zwraca wartość a.
jeśli mamy inkdesy pokrywające i index on t (b,a).
to system pomija szukanie w danych tabeli - tylko od razu zwraca wartość &quot;a&quot; z krotki indeksu.
dzięki temu szybsze jest wszystko. agregaty, proste selecty, wszystko.</description>
		<content:encoded><![CDATA[<p>sorry, może to nie było jasne. indeks pokrywający nie pokrywa agregatów.<br />
to działa trochę inaczej.<br />
załóżmy, że mamy zapytanie:<br />
select a from t where b = ?;<br />
i mamy indeks na t (b);<br />
system korzysta z indeksu by znaleźć odpowiednią krotkę w tabeli, potem wyszukuje ją w pliku tabeli i zwraca wartość a.<br />
jeśli mamy inkdesy pokrywające i index on t (b,a).<br />
to system pomija szukanie w danych tabeli &#8211; tylko od razu zwraca wartość &#8220;a&#8221; z krotki indeksu.<br />
dzięki temu szybsze jest wszystko. agregaty, proste selecty, wszystko.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Antek</title>
		<link>http://www.depesz.com/index.php/2007/01/27/mysql-rzadzi-indeksy-pokrywajace/comment-page-1/#comment-3469</link>
		<dc:creator>Antek</dc:creator>
		<pubDate>Mon, 29 Jan 2007 09:01:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.depesz.com/index.php/2007/01/27/mysql-rzadzi-indeksy-pokrywajace/#comment-3469</guid>
		<description>A co z zapytaniem.:
select avg(kwota) from zakupy where user_id = 

Jakie agregaty pokrywa ten &quot;indeks pokrywający&quot;?</description>
		<content:encoded><![CDATA[<p>A co z zapytaniem.:<br />
select avg(kwota) from zakupy where user_id = </p>
<p>Jakie agregaty pokrywa ten &#8220;indeks pokrywający&#8221;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vnull</title>
		<link>http://www.depesz.com/index.php/2007/01/27/mysql-rzadzi-indeksy-pokrywajace/comment-page-1/#comment-3456</link>
		<dc:creator>vnull</dc:creator>
		<pubDate>Sun, 28 Jan 2007 09:21:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.depesz.com/index.php/2007/01/27/mysql-rzadzi-indeksy-pokrywajace/#comment-3456</guid>
		<description>CREATE TABLE ZAKUPY ( ID NUMBER NOT NULL, USER_ID NUMBER NOT NULL, KWOTA NUMBER NOT NULL, CONSTRAINT ZAKUPY_PK PRIMARY KEY(ID));

explain plan query: select sum(kwota) from zakupy where user_id=10;
SELECT STATEMENT	
  SORT(AGGREGATE)	
    TABLE ACCESS(FULL)

create index x on zakupy (user_id, kwota);

explain plan query: select sum(kwota) from zakupy where user_id=10;
SELECT STATEMENT		
   SORT(AGGREGATE)		      INDEX(RANGE SCAN) VNULL.X	ANALYZED
(troche skrocone te plany).. ale jak widac Oracle tez nie robil TABLE ACCESS z indeksem X</description>
		<content:encoded><![CDATA[<p>CREATE TABLE ZAKUPY ( ID NUMBER NOT NULL, USER_ID NUMBER NOT NULL, KWOTA NUMBER NOT NULL, CONSTRAINT ZAKUPY_PK PRIMARY KEY(ID));</p>
<p>explain plan query: select sum(kwota) from zakupy where user_id=10;<br />
SELECT STATEMENT<br />
  SORT(AGGREGATE)<br />
    TABLE ACCESS(FULL)</p>
<p>create index x on zakupy (user_id, kwota);</p>
<p>explain plan query: select sum(kwota) from zakupy where user_id=10;<br />
SELECT STATEMENT<br />
   SORT(AGGREGATE)		      INDEX(RANGE SCAN) VNULL.X	ANALYZED<br />
(troche skrocone te plany).. ale jak widac Oracle tez nie robil TABLE ACCESS z indeksem X</p>
]]></content:encoded>
	</item>
</channel>
</rss>
