Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Abfragendauer reduzieren

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von alexfrenzel92, 2 November 2016.

  1. alexfrenzel92

    alexfrenzel92 Datenbank-Guru

    Code:
    SELECT Heim.column2 AS a, Auswaerts.column2 AS b, foo6.Bezeichnung AS column5Name, foo6.Bezeichnung AS EreignisName 
    FROM foo1
    INNER JOIN foo2 ON foo2.SpielID = foo1.SpielID AND foo2.column1 = foo1.column1
    INNER JOIN foo3 AS Heim ON foo2.HeimID = Heim.VereinsID
    INNER JOIN foo3 AS Auswaerts ON foo2.AuswaertsID = Auswaerts.VereinsID
    INNER JOIN foo4 ON foo4.column3 = foo1.column3
    INNER JOIN foo5 ON foo1.column5 = foo5.column5
    INNER JOIN foo6 ON foo6.EreignisID = foo1.Ereignis
    WHERE foo1.SpielID = 29
    AND foo1.column1 = 2
    AND (foo4.column3, foo4.Datum) IN (SELECT column3, MAX(Datum)
    FROM foo4 GROUP BY column3)
    ORDER BY priority1 asc, priority2 asc LIMIT 53,1
    Hallo,

    0,0689 Sekunden dauerte diese Abfrage noch bevor ich
    Code:
    AND (foo4.column3, foo4.Datum) IN (SELECT column3, MAX(Datum) FROM foo4 GROUP BY column3)
    hinzufügte.

    Leider erfüllt diese Abfrage ihren Zweck nur mit dem Zusatz und dauert nun 4,8858 Sekunden, nachdem ich in die Tabellen der Datenbank auch einige Indizes erstellt habe. (Davor waren es über 5 Sekunden)

    Gibt es eine Möglichkeit, diese Dauer zu reduzieren? Bzw. einen Grund dafür, weshalb sie sich durch einen geringen Zusatz fast ver-100-facht?

    Vg
     
  2. akretschmer

    akretschmer Datenbank-Guru

    read the explain...
     
  3. ukulele

    ukulele Datenbank-Guru

    Ja EXPLAIN sagt dir welche (Zeit-)Kosten deine Abfrage hervorruft. Grundsätzlich ist die Abfrage zu umfangreich um da irgendwelche generellen Aussagen zu treffen.
     
  4. akretschmer

    akretschmer Datenbank-Guru

    wenn sich die Abfrage von 5,x auf 4,9 Sekunden reduziert dann liegt das wohl eher an Caching-Effekten als an einem neuen Index.
    Read the Explain - wobei dieser Rat bei MySQL auch nicht viel Wert ist, weil das Explain nicht viel Wert ist.

    Wie lange braucht denn das Subselect?
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden