Planoperatoren

This commit is contained in:
Marco Ammon 2019-02-12 12:38:32 +01:00
parent 229b67679d
commit 7f97bbc520
2 changed files with 17 additions and 0 deletions

Binary file not shown.

View File

@ -342,5 +342,22 @@
\item aufeinander folgende Selektionen der selben Relation zusammenfassen
\item Projektionen möglichst \enquote{weit unten} ausführen (aber Duplikat-Eliminierung vermeiden)
\end{itemize}
\item Planoperatoren (können durch \begriff{Pipelining} beschleunigt werden): \begin{itemize}
\item Selektion (\begriff{Scan}): \begin{itemize}
\item Relationen-Scan: Sequentielles Lesen
\item Index-Scan: Verwendung eines Index
\end{itemize}
\item Projektion: in andere Planoperatoren integriert
\item Sortierung
\item Join mit Relationen $R$, $S$: \begin{itemize}
\item Nested-Loop-Join (für \begriff{Gleichverbund} mit Index-Zugriff verbesserbar)
\item Sorted-Merge-Join (nur für Gleichverbund): sortiere $R$, $S$; \begriff{schritthaltender} Scan
\item Hash-Join (nur für Gleichverbund): kleinere Relation hashen (bei zu großer Relation mehrere Teile); über größere sequentiellen Scan
\end{itemize}
\item Duplikat-Eliminierung
\item Gruppierung
\end{itemize}
\item je nach System/Anwendung Optimierung auf niedrige CPU-/IO-Last
\item \begriff{Statistiken} für Wahl des Planoperators sinnvoll (Verteilung der Tupel, Selektivität, \dots)
\end{itemize}
\end{document}