[MySQL 3.23.X] lange Laufzeiten MySQL

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [MySQL 3.23.X] lange Laufzeiten MySQL

    hallo miteinander

    ich hoffe ich belaste nicht mit fragen, die in der suchi zu finden gewesen wären, aber ich habe gesucht und nichts gefunden.

    hat jemand erfahrung mit maximal möglicher datenmenge und "select-komplexität" bei einer mysql-datenbank?
    ich habe konkret folgendes problem:
    ich möchte einen "select distinct" über drei tabellen. eine tabelle ist eine simple typ 1 (1,1) beziehung, die andere eine multiple (1,n).
    folgende query verwende ich somit:

    select distinct a.*, b.*
    from a, b, c
    where a.primarykey=b.foreignkey
    and a.primarykey=c.foreignkey
    and c.irgendwas=[argument]
    order by a.irgendwas

    tabelle a und b besitzen je ca 6500 datensätze, tabelle c ca. 13000. leider läuft diese query sozusagen EWIG. die ausführungszeit ist indiskutabel lange. ich weiss nicht auf welcher hardware die db läuft (hosting). kann es sein, dass der db-server dermassen lahm ist oder ist mysql einfach überfordert? manchmal verabschiedet sich die db dabei sogar, dass heisst ich komme mit phpmyadmin nicht mal mehr auf meine datenbank. ich könnte noch diverse zusätzliche indexes setzten, glaube aber nicht, dass das besonders viel bringt.
    ein vergleichbares statement zum auszählen der datensätze läuft ebenfalls verdächtig lange:
    select count(distinct a.primarykey)
    from a, b, c
    where a.primarykey=b.foreignkey
    and a.primarykey=c.foreignkey
    and c.irgendwas=[argument]

    lieben dank für eure unterstützung
    gruss aus der schweiz
    himac

  • #2
    ...ups, stelle ich da zu schwierige fragen oder sollte ich lernen mich mehr in geduld zu üben

    der count über die drei tabellen läuft ca. 64 sekunden. das ist doch nicht normal! die beteiligten keys sind übrigens selbstverständlich alle indiziert.

    Kommentar


    • #3
      was die mögliche db-grösse angeht, gibts hier was:
      http://www.php-resource.de/forum/sho...and+tabelle%2Aposting von titus

      was die geschwindigkeit angeht, gibt es imho nur 2 möglichkeiten:
      1.) dein datenbanklayout und/oder
      2.) dein provider
      sind/ist suboptimal

      indices hast du schon erwähnt, also gehe ich davon aus, dass das db-layout ok ist, sonst schau noch mal bei mysql.de vorbei => manual => optimieren von select-abfragen (oder so). ansonsten mal mit dem provider sprechen.
      Kissolino.com

      Kommentar


      • #4
        hi wurzel

        besten dank für deine antwort.
        das datenbanklayout oder die art meiner queries ist nicht der grund für diesen geschwindigkeitsverlust. aber ich habe mittlerweile ein paar vergleichende test bei einem anderen provider durchgeführt und es hat sich gezeigt, dass dort alles viel schneller läuft (so wie's sein soll). bin jetzt am "streiten" mit meinem provider, weil ich doch annehmen muss, dass der server nicht korrekt konfiguriert oder schlicht zu schwach ist. ist eben nur so ein kleiner, lokaler anbieter... das hab' ich nun davon, weil ich sozusagen das lokale gewerbe unterstützen wollte

        beste grüsse
        himac

        Kommentar


        • #5
          setze doch vor deine sql-Abfrage mal ein "EXPLAIN" und poste das Ergebnis hier
          TBT

          Die zwei wichtigsten Regeln für eine berufliche Karriere:
          1. Verrate niemals alles was du weißt!


          PHP 2 AllPatrizier II Browsergame

          Kommentar

          Lädt...
          X