Moin,
ich habe eine allgemeine Frage zur richtigen Vorgehensweise.
Worum geht es?
Ich habe eine Seite, bei der User Einzahlungen vornehmen können. Es geht dabei um kleinere Beträge zwischen 5 und 100 Euro. Jede Einzahlung wird mit einem Datensatz in die DB (MySQL) geschrieben. Enthalten sind sieben Spalten. Alle mit kleinen Daten. Also Datum, Betrag in Fiat, Betrag in Crypto, Wallet, ID usw.
Jede Dienstleistung kostet 5-10 Euro. Die Anzahl der User, der Einzahlungen und der Verbrauch lassen sich noch nicht absehen. Es werden aber sicher einige hundert User werden, die regelmäßig einzahlen und Dienste nutzen.
Jetzt muss ich ja irgendwie das aktuelle Guthaben berechnen. Dazu habe ich jetzt drei Optionen:
Alle Einzahlungen werden mit je einem Datensatz in die Tabelle geschrieben. Das passiert eh. Das können dann schnell zig tausend werden und es werden natürlich immer mehr.
Option 1: Ich schreibe auch jede Abbuchung für Dienstleistungen in diese Tabelle und berechne das Guthaben direkt mit MySQL und lasse es dann (übrigens via PHP und JS) ausgeben.
Option 2: Ich lege für die Abbuchungen eine eigene kleine Tabelle an und verrechne zwischen den Tabellen oder mit PHP.
Option 3: Ich lege eine extra Tabelle an, in der ich je User einen Datensatz anlege und nur immer das aktuell berechnete Guthaben aktualisiere.
Am einfachsten wäre für mich die Option 1. Dort kommen dann aber wohl auch die meisten Datensätze zusammen und da ich kein Experte bin, kann ich nicht einschätzen, bis zu wie vielen Datensätzen es vernünftig ist, direkt solche Mengen in der DB zu verarbeiten/berechnen. Option 2 wäre ähnlich, nur mit einer weiteren Tabelle. Und Option 3 wäre wohl die schlankste. Allerdings lassen sich die jeweiligen Abbuchen nicht mehr im Einzelfall nachvollziehen. Und wenn was daneben geht, kann nichts mehr rekonstruiert werden.
Welche Variante ist für mein Anliegen die sinnvollste?
Vielen Dank für die Hilfe.
ich habe eine allgemeine Frage zur richtigen Vorgehensweise.
Worum geht es?
Ich habe eine Seite, bei der User Einzahlungen vornehmen können. Es geht dabei um kleinere Beträge zwischen 5 und 100 Euro. Jede Einzahlung wird mit einem Datensatz in die DB (MySQL) geschrieben. Enthalten sind sieben Spalten. Alle mit kleinen Daten. Also Datum, Betrag in Fiat, Betrag in Crypto, Wallet, ID usw.
Jede Dienstleistung kostet 5-10 Euro. Die Anzahl der User, der Einzahlungen und der Verbrauch lassen sich noch nicht absehen. Es werden aber sicher einige hundert User werden, die regelmäßig einzahlen und Dienste nutzen.
Jetzt muss ich ja irgendwie das aktuelle Guthaben berechnen. Dazu habe ich jetzt drei Optionen:
Alle Einzahlungen werden mit je einem Datensatz in die Tabelle geschrieben. Das passiert eh. Das können dann schnell zig tausend werden und es werden natürlich immer mehr.
Option 1: Ich schreibe auch jede Abbuchung für Dienstleistungen in diese Tabelle und berechne das Guthaben direkt mit MySQL und lasse es dann (übrigens via PHP und JS) ausgeben.
Option 2: Ich lege für die Abbuchungen eine eigene kleine Tabelle an und verrechne zwischen den Tabellen oder mit PHP.
Option 3: Ich lege eine extra Tabelle an, in der ich je User einen Datensatz anlege und nur immer das aktuell berechnete Guthaben aktualisiere.
Am einfachsten wäre für mich die Option 1. Dort kommen dann aber wohl auch die meisten Datensätze zusammen und da ich kein Experte bin, kann ich nicht einschätzen, bis zu wie vielen Datensätzen es vernünftig ist, direkt solche Mengen in der DB zu verarbeiten/berechnen. Option 2 wäre ähnlich, nur mit einer weiteren Tabelle. Und Option 3 wäre wohl die schlankste. Allerdings lassen sich die jeweiligen Abbuchen nicht mehr im Einzelfall nachvollziehen. Und wenn was daneben geht, kann nichts mehr rekonstruiert werden.
Welche Variante ist für mein Anliegen die sinnvollste?
Vielen Dank für die Hilfe.