<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - wykorzystanie indeksu przy podzapytaniu]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=40</link>
		<description><![CDATA[Najświeższe odpowiedzi w wykorzystanie indeksu przy podzapytaniu.]]></description>
		<lastBuildDate>Tue, 16 Jun 2009 17:11:50 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: wykorzystanie indeksu przy podzapytaniu]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=998#p998</link>
			<description><![CDATA[A jaki index jest zdefiniowany?  Może pokazałbyś plany zapytań. 'Odświeżyłeś' statystyki?]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Tue, 16 Jun 2009 17:11:50 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=998#p998</guid>
		</item>
		<item>
			<title><![CDATA[Odp: wykorzystanie indeksu przy podzapytaniu]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=995#p995</link>
			<description><![CDATA[mam podobny problem

znalazłeś może rozwiązanie lub cokolwiek]]></description>
			<author><![CDATA[dummy@example.com (heban)]]></author>
			<pubDate>Tue, 16 Jun 2009 14:52:09 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=995#p995</guid>
		</item>
		<item>
			<title><![CDATA[wykorzystanie indeksu przy podzapytaniu]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=146#p146</link>
			<description><![CDATA[Witam

Mam dwie tabele, które mają zdefiniowane indeksy. 

tabela1 (
id serial,
pole1 varchar(10),
....
)
indeks na id.

oraz

tabela2 (
indeksowane_pole varchar(10),
opis varchar(50)
)
indeks na indeksowane_pole

Przy tworzeniu zapytania z join po indeksowanej kolumnie np.:

select tabela1.id, tabela1.pole1, tabela2.opis from tabela1 left join tabela2 on (tabela1.pole1 = tabela2.indeksowane_pole);

Komenda EXPLAIN ANALYZE wskazuje, że indeks jest wykorzystywany, czyli wszystko ok. 

Problem pojawia sie w podzapytaniu np. takim:

select tabela1.id, tabela1.pole23, (select tabela2.opis from tabela2 where tabela2.indeksowane_pole = tabela1.pole1) as 'COS' 
  from tabela1;

W takim przypadku EXPLAIN ANALYZE wskazuje ze select z tabeli2 nie wykorzystuje indeksu tylko sprawdza tabelę sekwencyjnie. Niestety nie mogę użyć joina. Czy ktoś może mi poradzić jaki indeks powinien być zdefiniowany na tabeli2?]]></description>
			<author><![CDATA[dummy@example.com (lesny)]]></author>
			<pubDate>Fri, 16 May 2008 07:26:54 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=146#p146</guid>
		</item>
	</channel>
</rss>
