Hallo, Wie verbessere ich eine performance(datenbank) und auf was muss man achten bei der performance(Datenabnk)?

... komplette Frage anzeigen

3 Antworten

Optimierung wurde schon erwähnt, aber wie geht das? Ein Beispiel: Du willst einen Gegenstand versenden und benötigst einen Karton. Welche Größe und welches Format ist da am besten? Optimal ist der Karton, wo der zu versendende Gegenstand genau reinpasst. Für andere Gegenstände braucht er nicht passen. Optimierung muss sich immer auf etwas Bestimmtes beziehen. Bei der Datenbank ist das die vorgesehene Anwendung, die zu erwartenden Abfragen. Wenn man die Anwendung nicht kennt und nicht weiß, welche Aufgaben die Datenbank erfüllen muss, kann man keine gut funktionierende Datenbank machen.

Indizes wurden auch schon erwähnt, was bedeutet das? Beispiel: Du suchst im Telefonbuch die Nummer von Max Meier und hast die schnell gefunden. Warum kannst Du nicht den Namen des Anrufers im Telefonbuch nicht genauso schnell finden, wenn Du seine Nummer hast? Weil das Telefonbuch nach Namen geordnet ist, aber nicht nach Nummern. Ein Index würde helfen. Das wäre eine Liste aller Nummern mit einem Verweis auf den Namen, geordnet nach Nummern. Bei der Datenbank ist das genauso: man kann für eine beliebige Spalte einer Tabelle einen Index einrichten. Dieser benötigt Speicherplatz und vergrößert den Schreibaufwand, weil der Index dann bei Änderungen automatisch angepasst werden muss. Wenn ein Eintrag in die Datenbank einmal geschrieben und tausende Male gelesen wird, fällt der Aufwand beim Schreiben gar nicht ins Gewicht.

Auf welche Spalten legt man nun einen Index? Erstens auf die Spalten, wonach später gesucht und sortiert wird und zweitens auf die Spalten, wonach die Datenbank intern suchen muss. Das sind normalerweise die Verknüpfungen.

Was ist, wenn nach Fertigstellung der Datenbank Abfragen gebraucht werden, die vorher nicht geplant waren? Was die Indizes betrifft, ist das kein Problem. Diese kann man auch nachträglich auf einfache Weise einrichten.

Auf der Hardwareseite kann man auch was bewirken: Schneller Zugriff auf die gespeicherten Daten und eine schnelle CPU.

Antwort bewerten Vielen Dank für Deine Bewertung

Darüber werden ganze Bücher geschrieben. Allein die Aufzählung der Möglichkeiten sprengt hier jeden Rahmen.

  1. Optimiere die Daten 
  2. Optimiere die Datenbank
  3. Optimiere die Software/DBMS
  4. Optimiere die Hardware

In dieser Reihenfolge solltest du es angehen... 

Und zu jedem Punkt kannst du Hunderte Optimierungsmöglichkeiten nutzen; je nachdem, wie deine Daten-Struktur aussieht, welche Anforderungen du an die Datenbank hast, welche Auswahl du bei der Software hast und wie viel Geld du für die Hardware hast...

Antwort bewerten Vielen Dank für Deine Bewertung

SSDs sind da immer von Vorteil. Außerdem sollte sehr viel Arbeitsspeicher vorhanden sein. Auch CPU-Leistung schadet nicht.

Aber RAM und SSDs sind wohl am ausschlaggebendsten.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Dariorosengarte
14.11.2016, 08:49

Mein Schulkammerd hat mir indices gesagt. Kann das au stimmen ?

0

Was möchtest Du wissen?