Announcement

Collapse
No announcement yet.

MySQL 100% CPU

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MySQL 100% CPU

    Hey Ihr!

    Ich habe folgendes Problem, muss dazu leider etwas weiter ausholen

    Ich habe in meiner DB drei Tabellen

    ElementeA (primärschlüssel elementeaID)
    ElementeB (primärschlüssel elementebID)
    Rel_A_B

    tabelle rel_a_b "verbindet" beide miteinander, sie hat die spalten elementaID und elementbID


    würde bedeuten das element a mit element b verknüpft ist. Die Verknüpfung ist eindeutig, die kombination aus beiden also quasi Primärschlüssel

    ElementA können auch (dann jeweils in eigener Zeile) mehrere Elemente B zugeordnet sein
    auch Element B kann mehren As zugeordnet sein

    zum Abfragen verwende ich folgende Abfrage

    SELECT a.name FROM ElementeA a, Rel_A_B r, ElementeB b WHERE b.Datum like '$date' AND b.elementebID LIKE r.elementebID AND r.elementeaID LIKE a.elementeaID

    Das ganze hat bisher immer wunderbar funktioniert, dauert aber manchmal auch mehrere Sekunden.

    Nun hat Elemente A ca 30.000 Einträge
    Elemente B ca 800 Einträge
    Rel_A_B ca 30.000 Einträge

    füge ich nun einen weiteren Eintrag hinzu und führe die Abfrage aus bleibt die CPU Last bei der Abfrage dauerhaft bei 100% --> nur mysql neustart hilft
    füge ich einen neuen eintrag hinzu und lösche aber irgendeinen alten tritt der fehler nicht auf

    wie kann das sein?

    ich hoffe man kann verstehen was ich meine
    danke für eure hilfe!

  • #2
    Hallo,

    warum verwendest du konsequent den LIKE Operator? Dieser macht nur Sinn im Zshg. mit Platzhaltern im Suchstring! Die Anwendung auf Datums- oder Numerische Werte ist ein absoluter Performance-Killer! Verwende besser ein =.

    Gruss Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment

    Working...
    X