Hilfe/Tipps - Abfragen optimieren - evtl. Datenbankstruktur ändern

ich habe gerade gelesen das bei den Tabellen in denen ständig neue Daten ankommen probleme mit Indizen haben. Ist das richtig?
 
>Das heißt nie mit INNER JOIN arbeiten sondern immer mit WHERE Subquery?
Nein! Immer Inner Join! Das hast du so oder so. Deine Tabellen sind klein, weshalb ich es so machen würde:

SQL:
...
    INNER JOIN tbllink ON tblstatistik.intlink = tbllink.intid 
    INNER JOIN tblort ON tblstatistik.intort = tblort.intid 
    INNER JOIN tblrolle ON tblstatistik.introlle = tblrolle.intid
WHERE 
    tblstatistik.tspzeit BETWEEN 20130505000000 AND 20130606235959
    AND tbllink.inttyp = 7
    AND tblort.strortsname = 'Berlin' 
    AND tblrolle.strrollname = 'Anwender'
...

Ist einfacher. Wenn das dann trotz der Indizes immer noch langsam ist, kann man das noch immer anpassen.

>ich habe gerade gelesen das bei den Tabellen in denen ständig neue Daten ankommen probleme mit Indizen haben. Ist das richtig?
Was für Probleme hast du? Was meinst du? Ein Index bedeutet, dass ein Insert/Update/Delete etwas länger dauert, aber dafür ist dann der Select schneller. In deinem Fall brauchst du definitiv Indizes.
 
Zuletzt bearbeitet von einem Moderator:
>
>ich habe gerade gelesen das bei den Tabellen in denen ständig neue Daten ankommen probleme mit Indizen haben. Ist das richtig?
Was für Probleme hast du? Was meinst du? Ein Index bedeutet, dass ein Insert/Update/Delete etwas länger dauert, aber dafür ist dann der Select schneller. In deinem Fall brauchst du definitiv Indizes.

Auszug aus dem Internet
Hier gibt's ein kleines Problem. Indizes wirken sich negativ auf die Geschwindigkeiten von Einfügeoperationen aus. Die Aktualisierung eines Indizes ist ungefähr so teuer wie das Einfügen des Datensatzes selbst und verlangsamt sich sogar logarithmisch mit der Größe der Tabelle.

es ist natürlich wichtig das dabei keine Daten verloren gehen sollen.
 
Zuletzt bearbeitet:
>es ist natürlich wichtig das dabei keine Daten verloren gehen sollen.
Es geht nichts verloren, Insert/Update/Delete dauert einfach etwas länger. Das ist alles. Das ist der Preis den du bezahlen musst, wenn du einen schenlleren Select haben willst.
 
Zurück