<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Datenbankindex</id>
	<title>Datenbankindex - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Datenbankindex"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Datenbankindex&amp;action=history"/>
	<updated>2026-06-05T17:08:54Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Datenbankindex&amp;diff=40594&amp;oldid=prev</id>
		<title>91.61.139.94: /* Reverse Index */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Datenbankindex&amp;diff=40594&amp;oldid=prev"/>
		<updated>2021-05-03T10:20:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Reverse Index&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ein &amp;#039;&amp;#039;&amp;#039;Datenbankindex&amp;#039;&amp;#039;&amp;#039;, oder kurz &amp;#039;&amp;#039;&amp;#039;Index&amp;#039;&amp;#039;&amp;#039; (im Plural „Indexe“ oder „Indizes“), ist eine von der [[Datenstruktur]] getrennte [[Indexstruktur]] in einer [[Datenbank]], die die Suche und das Sortieren nach bestimmten Feldern beschleunigt. &lt;br /&gt;
&lt;br /&gt;
Ein Index besteht aus einer Ansammlung von Zeigern (Verweisen), die eine [[Ordnungsrelation]] auf eine oder mehrere Spalten in einer Tabelle definieren. Wird bei einer Abfrage eine indizierte Spalte als Suchkriterium herangezogen, sucht das [[Datenbankmanagementsystem]] (DBMS) die gewünschten Datensätze anhand dieser Zeiger. In der Regel finden hier [[B+-Baum|B&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;-Bäume]] Anwendung. Ohne Index müsste die Spalte sequenziell durchsucht werden, während eine Suche mit Hilfe des Baums nur logarithmische [[Komplexität (Informatik)|Komplexität]] hat.&lt;br /&gt;
&lt;br /&gt;
In der [[Datenbanksprache]] [[SQL]] wird ein Index mit dem Befehl&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;CREATE INDEX &amp;#039;&amp;#039;Indexname&amp;#039;&amp;#039; ON &amp;#039;&amp;#039;Tabellenname&amp;#039;&amp;#039; ( &amp;#039;&amp;#039;Spaltenname(n)&amp;#039;&amp;#039; )&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
definiert (kein Standard-SQL, siehe unten). Meistens wird eine einzelne Spalte indiziert, doch auch zusammengesetzte Indizes sind in den meisten Datenbanksystemen möglich. Auf Spalten, die [[Primärschlüssel]] enthalten (SQL-Klausel &amp;lt;code&amp;gt;primary key&amp;lt;/code&amp;gt; im Befehl &amp;lt;code&amp;gt;create table&amp;lt;/code&amp;gt;), &lt;br /&gt;
wird automatisch ein Index gelegt.&lt;br /&gt;
&lt;br /&gt;
Häufig reicht die Sortierung der Daten nach einem Primärindex nicht aus, so dass weitere Indizes erforderlich sind. Wird nun für diese weiteren Erschließungen ein Gesamtinhaltsverzeichnis aufgebaut, entsteht ein &amp;#039;&amp;#039;Sekundärindex&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Arten von Indizes ==&lt;br /&gt;
=== Bitmap Index ===&lt;br /&gt;
&lt;br /&gt;
Der [[Bitmapindex]] basiert auf der Speicherung der Spaltenwerte in Form von Bitketten. Dieser Indextyp findet aus datenbanktechnischen Gründen Verwendung bei geringer Selektivität und niedriger Aktualisierungserwartung der zu indizierenden Spalte(n).&lt;br /&gt;
&lt;br /&gt;
=== Clustered Index ===&lt;br /&gt;
&lt;br /&gt;
Viele Datenbankverwaltungssysteme erlauben auch die Definition eines &amp;#039;&amp;#039;clustered&amp;#039;&amp;#039; Index. Dieser unterscheidet sich von einem &amp;#039;&amp;#039;non-clustered&amp;#039;&amp;#039; Index dadurch, dass nicht nur die Liste der Zeiger auf die Datensätze in sortierter Form vorliegt, sondern dass das DBMS zusätzlich versucht, neu eingefügte Datensätze, die innerhalb des Index nah beieinander liegen, auch physisch im Speicher nah beieinander abzulegen. Das kann die Suche nach Werten dieser Spalte weiter beschleunigen.&lt;br /&gt;
&lt;br /&gt;
=== Funktionaler Index ===&lt;br /&gt;
&lt;br /&gt;
Unter einem &amp;#039;&amp;#039;funktionalen Index&amp;#039;&amp;#039; (englisch &amp;#039;&amp;#039;functional index&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;function based index&amp;#039;&amp;#039;) versteht man eine spezielle Form eines Index in einem Datenbankmanagementsystem. Im Gegensatz zu einem normalen Index werden nicht die reinen Feldwerte, beispielsweise der Vorname, in den Index aufgenommen, sondern mittels Datenbankfunktionen transformierte Werte, beispielsweise &amp;lt;code&amp;gt;to_upper(Vorname)&amp;lt;/code&amp;gt; für eine Umwandlung in Großbuchstaben.&lt;br /&gt;
&lt;br /&gt;
=== Reverse Index ===&lt;br /&gt;
&lt;br /&gt;
Unter einem &amp;#039;&amp;#039;reverse Index&amp;#039;&amp;#039; versteht man einen Index, in dem die Werte vor dem Speichern bitweise oder byteweise umgekehrt werden. Beim Lesen dieses Index müssen die gelesenen Werte wieder in die richtige Reihenfolge konvertiert werden, bevor sie ausgewertet werden können. Die &amp;#039;vertauschten&amp;#039; Werte werden wie bei anderen Indizes meistens als B-Baum gespeichert. Ein Reverse-Index hat den Vorteil, dass bei einem Einfügen von fortlaufenden Schlüsseln der Index-Baum nicht in einen unbalancierten Zustand kommt und reorganisiert werden muss. Er hat jedoch den Nachteil, dass ein Range-Scan (z.&amp;amp;nbsp;B. &amp;#039;&amp;#039;where nr between 100 and 120&amp;#039;&amp;#039;) nicht über den Reverse-Index evaluiert werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Partitionierter Index ===&lt;br /&gt;
&lt;br /&gt;
Genauso wie [[Datenbanktabelle]]n partitioniert werden können, können auch Indizes partitioniert werden. Dabei wird unterschieden, ob die Partitionierung sich an der ersten Spalte orientiert, die indiziert wird, oder an einer anderen Spalte.&lt;br /&gt;
&lt;br /&gt;
Wenn die Datenbanktabelle, auf die sich der Index bezieht, partitioniert ist, dann kann der Index nach denselben Kriterien partitioniert werden (lokale Indexpartitionierung). Einige Datenbanksysteme z.&amp;amp;nbsp;B. [[Oracle (Datenbanksystem)|Oracle]] bieten auch die Möglichkeit, einen Index nach anderen Kriterien zu partitionieren (globale Indexpartitionierung).&lt;br /&gt;
&lt;br /&gt;
== Indizes in SQL ==&lt;br /&gt;
&lt;br /&gt;
Keiner der verschiedenen SQL-Standards definiert Befehle für Indizes. Die Befehle zum Anlegen und Entfernen von&lt;br /&gt;
Indizes sind daher immer datenbankspezifisch. Allerdings haben sich die Befehle &amp;#039;&amp;#039;CREATE INDEX&amp;#039;&amp;#039; und &lt;br /&gt;
&amp;#039;&amp;#039;DROP INDEX&amp;#039;&amp;#039; weitestgehend durchgesetzt.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Schlüssel (Datenbank)]]&lt;br /&gt;
* [[Invertierte Datei]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Datenbankindex| ]]&lt;br /&gt;
[[Kategorie:Indexierung]]&lt;/div&gt;</summary>
		<author><name>91.61.139.94</name></author>
	</entry>
</feed>