MySQL Performance

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

  • MySQL Performance

    Hallo,

    ich entwickle einen Service für Unternehmen. In den Tabellen habe ich überall einen Unternehmens-Identifier auf Zeilen-Ebene, um die Anwendung sozusagen Mandanten-fähig zu machen.

    Nun stellt sich die Frage, ob mit zunehmender Tabellengröße die Performance mehr und mehr in den Keller geht (ist das so?).

    Ich könnte diesem Problem dadurch entgehen, dass ich für jedes Unternehmen eigene Tabellen anlege, den Unternehmens-Identifier sozusagen auf Tabellen-Ebene definiere.

    Gibt es Gründe, das nicht zu tun?

    Gibt es Probleme mit Backup etc?

    Gibt es Architektuer-Beschränkungen in MySQL, was die Anzahl erlaubter Tabellen pro DB betrifft?

  • #2
    Mit wieviel Datensätzen pro Tabelle rechnest du?

    Ich hab mit mySQL schon Tabellen mit 60millionen (60.000.000) Einträgen gemacht und dort abfragen in unter 200ms gemacht. Wichtig ist das die Tabellen sehr schmal aufgebaut sind. In meinem Fall nur 2 Integer die zusammen den PrimaryKey ergeben haben und eine Feld für Daten mit Varchar.

    Indizierung ist ein sehr wichtiger Punkt. SQL_CACHE kann dir auch helfen.

    Kommentar


    • #3
      Meine Tabellen sind leider nicht so schmal.

      Die Tabelle, die die häufigsten Einträge haben wird, hat etwa 500 Zeichen pro zeile und könnte pro Unternehmen im Extremfall 600000 Zeilen bekommen. Wahrscheinlich ist aber, dass der Durchschnitt für diese Tabelle bei etwa 6000 Zeilen pro Unternehmen sein wird.

      Sollte der Service wirklich so erfolgreich sein, dass der Service auch von Großunternehmen genutzt wird und die höheren Werte Realität werden, muß ich ohnehin mit mehreren DB Servern arbeiten. Ich denke, dass in diesem Fall eine Trennung der Unternehmen auf Tabellen- Ebene anstatt auf Zeilen-Ebene auch Vorteile hat, weil ich diese dann auf mehrere DB Serve raufteilen kann, ohne dass ich vorher Selects machen muß. Sehe ich das so richtig?

      Bliebe nur die Frage, ob es Architekturbeschränkungen in Hinsicht auf die Anzahl der Tabellen pro DB gibt. Dies könnte dann zu Problemen fürhren, wenn der Service von vielen kleinen Unternehmen genutzt wird.

      Kommentar


      • #4
        Definier deine Tabellen ordentlich und indizier richtigt. 600.000 Datensätze sind "Kindergarten".

        Kommentar

        Lädt...
        X