Index aber richtig gesetzt

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

  • #16
    Hi case,

    Original geschrieben von case
    Und du solltest über spalten, die nicht auf jeden Fall vorkommen auch garkeinen Index setzen...
    Nur meiner Meinung nach hast du zu große Indizes gesetzt und deshalb wird deine Datenbank ausgebremst....
    Versuche mal den Filter-Such-Index zu löschen und dann setzt du einen neuen Index[/B]
    Also ich hab den Index jetzt mal auf die 2 Spalten reduziert, die auf alle Fälle immer vorkommen - aktiv und fart.

    count(id) und SELECT => ca. 3,5 - 6 Sekunden
    count(*) und SELECT => ca. 3,5 - 6 Sekunden

    Also nicht wirklich besser, aber generell schneller als vorher.
    Beide Abrfragen wurden ohne SQL_CACHE abgesetzt.
    Mit SQL_CACHE komm ich wieder auf meine 0.00623 Sekunden.

    Ich werde das $SQL_CACHE wieder einsetzen, da es doch einen extremen Unterschied macht.

    Mit was ich ja auch schon im Gedanken spiele ist der Datenbanktyp MEMORY - der soll ja extrem schnell sein weil eben im RAM.
    Nur kann ich da leider keine CHAR's und VARCHAR's nutzen.
    Ausserdem muß ein Szenario ausgearbeitet werden, wo bei Serverneustart diese Tabelle automatisch ins RAM geladen werden und von Zeit zu Zeit auch aktuallisiert werden.
    Im Hintergrund könnte dann der "normale" Table ganz normal upgedatet werden mit nur einen einzigen Miniindex und nur 1x pro Std. dieser Table erneut ins RAM gespielt, also 1:1 ausgetauscht werden.
    bidgo - Benzin im Blut
    Wir wollen Dich und Deine Karre
    Videoblog & Bilderblog zu verschiedenen Bereichen

    Kommentar


    • #17
      Auf deinem Screen schätzt MySQL doch ca. 195k Zeilen als Ergebnis. Wie viele kommen denn tatsächlich raus?
      Wenn der Unterschied zu groß ist, kannst du ja mal ANALYZE TABLE bzw. OPTIMIZE TABLE versuchen, falls noch nicht geschehen.
      Assembler ist eine Methode,
      Programme, die zu langsam laufen,
      so umzuschreiben,
      dass sie überhaupt nicht mehr laufen.

      Kommentar


      • #18
        Hi,

        Original geschrieben von TheFish511
        Auf deinem Screen schätzt MySQL doch ca. 195k Zeilen als Ergebnis. Wie viele kommen denn tatsächlich raus?
        Wenn der Unterschied zu groß ist, kannst du ja mal ANALYZE TABLE bzw. OPTIMIZE TABLE versuchen, falls noch nicht geschehen.
        OPTIMIZE TABLE wird jede Nacht um 2h durchgeführt.
        Die Ergebnismenge variert zwischen 0 und 195K - je nachdem nach was der User sucht.
        Eventuell liegt es daran, dass in den 22 aktiven Stunden immer große Datenmaipulationen durch die Datenimporte gibt.

        ANALYZE gibt mir den Status OK zurück.
        bidgo - Benzin im Blut
        Wir wollen Dich und Deine Karre
        Videoblog & Bilderblog zu verschiedenen Bereichen

        Kommentar

        Lädt...
        X