Michael Schröpl: Datenbankaufbau, Geschwindigkeit und Pflege

Beitrag lesen

  1. Auf welche Werte der Tabellen soll ich Indexe anwenden ?

Ein Index bringt dann etwas, wenn die Projektivität der Werte hoch ist - also wenn Du relativ viele verschiedene Werte hast und durch eine Suche eines Wertes über den Indexbaum (was ja einiges an Verwaltungsarbeit kostet) etwas gewinnst gegenüber dem linearen Abarbeiten aller Zeilen der Tabelle.
Indexe über Felder mit eindeutigen Werten (IDs etc.) sind natürlich ideal. Nach Oracle-Handbuch kostet Indexzugriff gegenüber full table scan irgendwas zwischen Faktor 5 und 10 - also: Wenn Du signifikikant mehr als 10 verschiedene Werte in der Tabelle hast (und diese nicht zu extrem ungleich verteilt sind), dann wird ein Index die Suche wahrscheinlich beschleunigen. (Das kannst Du natürlich auch einfach ausprobieren: Zeitmessung, Index anlegen, noch eine Zeitmessung.)
Bedenke auch, daß das Warten eines zusätzlichen Indexes alle Schreibzugriffe langsamer macht - also nur Indexe anlegen, die auch wirklich in Queries genutzt werden. (Speicherplatz kostet der Index ja auch noch.)

  1. Bringt die Abfrage in der DB Geschwindigkeitsnachteile ?

Das habe ich so nicht verstanden.

  1. Wie ist es mit der Pflege der Datenbanken im laufenden Betrieb
       z.B. Komprimieren etc..

Um dazu etwas zu sagen, müßte ich mehr über Dein Betriebsmodell wissen (housekeeping-Zeiten etc.).

4.Ich habe irgendwo gelesen daß auf eine normale DB nur 64   gleichzeitige Zugriffe stattfinden können, und bei mehr sollte man sie in eine SQL-Server DB konvertieren.
Jetzt möchte ich wissen ob das stimmt und wenn ja wie man eine normale DB in eine SQL Server konvertiert.

Hm, die Meinungen darüber, was eine "normale" Datenbank ist, scheinen voneinander abzuweichen. ;-)