<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://it-forensik.fiw.hs-wismar.de/index.php?action=history&amp;feed=atom&amp;title=Datenbankausf%C3%BChrungsplan</id>
	<title>Datenbankausführungsplan - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="http://it-forensik.fiw.hs-wismar.de/index.php?action=history&amp;feed=atom&amp;title=Datenbankausf%C3%BChrungsplan"/>
	<link rel="alternate" type="text/html" href="http://it-forensik.fiw.hs-wismar.de/index.php?title=Datenbankausf%C3%BChrungsplan&amp;action=history"/>
	<updated>2026-10-31T10:18:07Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in IT-Forensik Wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>http://it-forensik.fiw.hs-wismar.de/index.php?title=Datenbankausf%C3%BChrungsplan&amp;diff=2490&amp;oldid=prev</id>
		<title>Etduen am 3. August 2022 um 07:30 Uhr</title>
		<link rel="alternate" type="text/html" href="http://it-forensik.fiw.hs-wismar.de/index.php?title=Datenbankausf%C3%BChrungsplan&amp;diff=2490&amp;oldid=prev"/>
		<updated>2022-08-03T07:30:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 3. August 2022, 07:30 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Zeile 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Das Erstellen von Ausführungspläne wird auch als Kompilieren bezeichnet.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Das Erstellen von Ausführungspläne wird auch als Kompilieren bezeichnet.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der Ausführungsplan gibt beispielsweise einen Aufschluss darüber welche Indizes benutzt werden, in welcher Reihenfolge die Zugriffe auf die &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;verschie-denen &lt;/del&gt;Tabellen erfolgen, und welche Algorithmen für Join-, Sortier- und Gruppier-Operationen zum Zuge kommen.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der Ausführungsplan gibt beispielsweise einen Aufschluss darüber welche Indizes benutzt werden, in welcher Reihenfolge die Zugriffe auf die &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;verschiedenen &lt;/ins&gt;Tabellen erfolgen, und welche Algorithmen für Join-, Sortier- und Gruppier-Operationen zum Zuge kommen.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sie werden dazu genutzt, um Abfragen so wirtschaftlich wie nur möglich zu verarbeiten und zu beantworten. Bei der ersten Ausführung einer Abfrage wird diese analysiert. Hierbei werden beispielsweise die aufgerufenen Tabellen herausgefiltert oder es wird ermittelt, wie Ergebnisse vereinigt oder kombiniert werden müssen (Datenbankausführungsplan). Diese Pläne werden in einem Bereich des Arbeitsspeichers abgelegt (Plancache).  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sie werden dazu genutzt, um Abfragen so wirtschaftlich wie nur möglich zu verarbeiten und zu beantworten. Bei der ersten Ausführung einer Abfrage wird diese analysiert. Hierbei werden beispielsweise die aufgerufenen Tabellen herausgefiltert oder es wird ermittelt, wie Ergebnisse vereinigt oder kombiniert werden müssen (Datenbankausführungsplan). Diese Pläne werden in einem Bereich des Arbeitsspeichers abgelegt (Plancache).  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Vergleicht man dies mit anderen Programmiersprachen ähnelt der &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ausfüh-rungsplan &lt;/del&gt;dem Bytecode von Scriptsprachen wie z.B. Python.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Vergleicht man dies mit anderen Programmiersprachen ähnelt der &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ausführungsplan &lt;/ins&gt;dem Bytecode von Scriptsprachen wie z.B. Python.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wird eine SQL-Anweisung ausgeführt, wird zwischen der Optimierungsphase und der eigentlichen Ausführung der Ausführungsplan erstellt.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wird eine SQL-Anweisung ausgeführt, wird zwischen der Optimierungsphase und der eigentlichen Ausführung der Ausführungsplan erstellt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l23&quot;&gt;Zeile 23:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 23:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Dargestellt sind die einzelnen Aufrufe, ihre Verbindungen zueinander sowie die entsprechend verbrauchte Zeit und deren Kosten.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Dargestellt sind die einzelnen Aufrufe, ihre Verbindungen zueinander sowie die entsprechend verbrauchte Zeit und deren Kosten.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Zusammenfassend werden somit im Datenbankausführungsplan alle &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;verar-beiteten &lt;/del&gt;SQL-Anweisungen protokolliert. &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Zusammenfassend werden somit im Datenbankausführungsplan alle &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;verarbeiteten &lt;/ins&gt;SQL-Anweisungen protokolliert. &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key it_forensik_wiki:diff:1.41:old-1650:rev-2490:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Etduen</name></author>
	</entry>
	<entry>
		<id>http://it-forensik.fiw.hs-wismar.de/index.php?title=Datenbankausf%C3%BChrungsplan&amp;diff=1650&amp;oldid=prev</id>
		<title>St180700: Die Seite wurde neu angelegt: „„Ein Datenbankausführungsplan ist eine generierte Liste der Schritte, die für das Datenbanksystem die effizienteste Möglichkeit bilden, auf Informationen…“</title>
		<link rel="alternate" type="text/html" href="http://it-forensik.fiw.hs-wismar.de/index.php?title=Datenbankausf%C3%BChrungsplan&amp;diff=1650&amp;oldid=prev"/>
		<updated>2021-02-07T17:48:15Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „„Ein Datenbankausführungsplan ist eine generierte Liste der Schritte, die für das Datenbanksystem die effizienteste Möglichkeit bilden, auf Informationen…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;„Ein Datenbankausführungsplan ist eine generierte Liste der Schritte, die für das Datenbanksystem die effizienteste Möglichkeit bilden, auf Informationen zuzugreifen oder sie zu ändern.“ (vgl. Justin Clarke, SQL Hacking).&lt;br /&gt;
&lt;br /&gt;
Der Ausführungsplan beinhaltet die jeweiligen Schritte, die eine Datenbank beim Abarbeiten einer SQL-Anweisung ausführt.&lt;br /&gt;
Der Ausführungsplan wird auch execution plan oder explain plan genannt.&lt;br /&gt;
Das Erstellen von Ausführungspläne wird auch als Kompilieren bezeichnet.&lt;br /&gt;
&lt;br /&gt;
Der Ausführungsplan gibt beispielsweise einen Aufschluss darüber welche Indizes benutzt werden, in welcher Reihenfolge die Zugriffe auf die verschie-denen Tabellen erfolgen, und welche Algorithmen für Join-, Sortier- und Gruppier-Operationen zum Zuge kommen.&lt;br /&gt;
&lt;br /&gt;
Sie werden dazu genutzt, um Abfragen so wirtschaftlich wie nur möglich zu verarbeiten und zu beantworten. Bei der ersten Ausführung einer Abfrage wird diese analysiert. Hierbei werden beispielsweise die aufgerufenen Tabellen herausgefiltert oder es wird ermittelt, wie Ergebnisse vereinigt oder kombiniert werden müssen (Datenbankausführungsplan). Diese Pläne werden in einem Bereich des Arbeitsspeichers abgelegt (Plancache). &lt;br /&gt;
&lt;br /&gt;
Vergleicht man dies mit anderen Programmiersprachen ähnelt der Ausfüh-rungsplan dem Bytecode von Scriptsprachen wie z.B. Python.&lt;br /&gt;
&lt;br /&gt;
Wird eine SQL-Anweisung ausgeführt, wird zwischen der Optimierungsphase und der eigentlichen Ausführung der Ausführungsplan erstellt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Phasen der SQL-Ausfuehrung.png]]&lt;br /&gt;
&lt;br /&gt;
Weil der Ausführungsplan die Abläufe auf einer ähnlichen Abstraktionsebene darstellt wie SQL, kann man einen Ausführungsplan sehr schnell lesen, durch die einheitliche Formatierung meist schneller als die ursprüngliche SQL-Anweisung.&lt;br /&gt;
&lt;br /&gt;
Beispiel eines Ausfühungsplans:&lt;br /&gt;
[[Datei:Darstellung eines Ausfuehrungsplans.png]]&lt;br /&gt;
&lt;br /&gt;
Der in der Grafik obenstehende Select-Befehl wird darunter visualisiert.&lt;br /&gt;
Dargestellt sind die einzelnen Aufrufe, ihre Verbindungen zueinander sowie die entsprechend verbrauchte Zeit und deren Kosten.&lt;br /&gt;
&lt;br /&gt;
Zusammenfassend werden somit im Datenbankausführungsplan alle verar-beiteten SQL-Anweisungen protokolliert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bildquellen: &lt;br /&gt;
* Datenbank-Ausführungspläne lesen und verstehen: https://www.admin-magazin.de/Das-Heft/2012/06/Datenbank-Ausfuehrungsplaene-lesen-und-verstehen&lt;br /&gt;
* Anzeigen eines tatsächlichen Ausführungsplans: https://docs.microsoft.com/de-de/sql/relational-databases/performance/display-an-actual-execution-plan?view=sql-server-ver15&lt;/div&gt;</summary>
		<author><name>St180700</name></author>
	</entry>
</feed>