Announcement

Collapse
No announcement yet.

Performancefrage: Tabellen aufteilen in mehrere Datenbanken oder alles in eine?

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

  • #16
    Originally posted by Klemmo View Post
    wenn die statistik auf der Datenbank im laufenden Betrieb gemacht wurde, dann sind diese Zahlen sehr gut (wenn auch sehr hoch)
    Oldest transaction 8665953
    Oldest active 8665954
    Oldest snapshot 8665954
    Next transaction 8665963

    20 Millionen ist wirklich noch nicht kritisch und insgesamt betrachtet auf jeden Fall performanter als wenn du immer den String erst mal auseinander nehmen musst. Aus meiner sicht ist dein angedachter Weg absolut ok

    Holger
    www.ibexpert.com
    Die Statistik wurde im laufen Betrieb gemacht, was meinst du denn mit sehr hoch? Was bedeuten die Zahlen genau?

    Bin gerade beim Umbau der Tabellen. Dadurch würde sich auch einiges in der Struktur vereinfachen da dann Integer Spalten verwendet werden können statt char. Das bringt alleine schon was denke ich.
    Und dann kann ich vor allem die Selects optimieren denn eine WHERE CAMERA in (1,2,3,4) ist deutlich besser als ein WHERE CAMERA LIKE %1% usw.

    Comment


    • #17
      Originally posted by Klemmo View Post
      20 Millionen ist wirklich noch nicht kritisch und insgesamt betrachtet auf jeden Fall performanter als wenn du immer den String erst mal auseinander nehmen musst. Aus meiner sicht ist dein angedachter Weg absolut ok
      20 Mio bezieht sich aber dann auf eine Tabelle, und davon habe ich dann ein paar Stück. Erst einmal so ca. 6-8. Es sollen aber demnächst mehr werden da wir mehr Daten zentral speichern wollen. Wenn dass die Firebird slebst nicht stört wäre es ok.

      Comment


      • #18
        Hallo,

        Deine Transaktionszahlen könnten deswegen so gut sein, weil das Sweep Intervall auf 5000 eingestellt ist. Ein Sweep wird dann automatisch bei Dir ausgeführt, wenn OAT (Oldest Active) - OIT (Oldest Transaction) >= 5000 ist. Könnte gut sein, dass das Sweep bei Dir öfters automatisch anspringt was während der Ausführung des Sweeps entsprechende Performanceprobleme für den normalen Betrieb nach sich zieht.

        Mein Tipp:
        - Sweep Intervall auf 0 setzen (= automatisches Sweep deaktivieren)
        - Zeitgesteuertes Sweep mit gfix in der Nacht

        Thomas
        Thomas Steinmaurer

        Firebird Foundation Committee Member
        Upscene Productions - Database Tools for Developers
        Mein Blog

        Comment


        • #19
          Originally posted by Thomas Steinmaurer View Post
          Mein Tipp:
          - Sweep Intervall auf 0 setzen (= automatisches Sweep deaktivieren)
          - Zeitgesteuertes Sweep mit gfix in der Nacht

          Thomas
          Die Zahlen waren aber ähnlich bevor ich den Sweep mal verstellt habe. Sweep austellen und manuell durchführen finde ich auch nicht so toll. Die Datenbank wird rund um die Uhr immer mit fast gleicher Performance gefüllt, also auch Nachts. Da würde ein grösserer Sweep in der Nacht wahrscheinlich mehr schaden als wenn das System das ständig selbst macht oder?

          Comment


          • #20
            Hallo,

            ein Sweep in der Nacht wird keinen "Schaden" anrichten. Kann halt sein, wenn aktive Verbindungen drauf sind, dass das Sweep nicht so effektiv sein wird.

            Zu Deinen ursprünglichen Fragen/Problemen:
            - Macht es Sinn die Datenbank auf mehrere Datenbanken aufzuteilen? Aus meiner Sicht nicht.
            - Warum dauert das Backup nach einer Woche länger? Weil beim Backup per Default eine Garbage Collection in der Quell/Produktions-DB durchgeführt wird.

            Damit wir uns in der Diskussion nicht verlaufen. ;-)

            Thomas
            Thomas Steinmaurer

            Firebird Foundation Committee Member
            Upscene Productions - Database Tools for Developers
            Mein Blog

            Comment

            Working...
            X