Wpis z mikrobloga

Cześć,
mam pytanie z #sql - dokładniej z #postgresql - czy indexy sie dziedziczy?
TabelaA ma poindeksowane kolumny a i b.
Tabela
B ma poindeksowane kolumny a i c

Czy wynik:
SELECT *
FROM TabelaA as x
INNER JOIN Tabela
B as y
ON x.a=y.a

bedzie nadał miał założony index na kolumny a, b i c (mimo, że przy łaczeniu cześć wierszy wyleciało)?
  • 7
  • Odpowiedz
@TenToTamTaki: Przecież nawet założenie indeksów na tabelach ma się nijak do kolejności prezentowanych danych. Bez order by niemal zawsze dostaniesz dane nieuporządkowane, lub uporządkowane w kolejności ich dodawania do bazy.
  • Odpowiedz
@raffi74: Mnie kolejność (w wyniku) nie interesuje. Bede laczyl kilka (dośc duzych) tabel (poindeksowanych) z wieloma warunkami po drodze tworzac dodatkowe kolumny, a na koniec chyba pogrupuję po indeksie tabeli faktów i zagreguję wynik. Gdybym wiedzial, ze te 'posrednie' tabele maja nadal 'działające' indeksy, pewnie rozbijałbym na talele pośrednie (albo z zapisem w bazie, albo z uzyciem konstrukcji 'with') zeby uprościc zapytanie (i przy ew. błedach nie robic wszystkiego od początku).
  • Odpowiedz