Es gibt nicht eine große allgemeine Lösung für die Frage: „Wie groß ist zu groß“ - solche Bedenken auf häufig abhängig sind, was Sie mit Ihren Daten tun und was Ihre Leistungsüberlegungen sind.
Es gibt einige grundlegende Einschränkungen für die Tabellengrößen. Sie können nicht mehr als 1000 Spalten haben. Deine Aufzeichnungen dürfen nicht größer als 8k sein. Diese Grenzwerte ändern sich je nach Datenbankmodul. (Die hier sind für InnoDB.)
Es klingt wie Sie mehrere verschiedene Datensätze in eine Tabelle zusammengeführt haben. Sie haben wahrscheinlich einige Felder, die Ihnen sagen, zu welchem Datensatz dieser Datensatz gehört, zusammen mit einigen Datenfeldern und einigen Zeitstempelinformationen. Das ist keine sehr breite Aufzeichnung (es sei denn, Sie protokollieren, sagen wir, alle Eingangsparameter jeder Anfrage). Ihr Hauptproblem wird mit Selektivität sein. Eine sinnvolle Indizierung dieser Tabelle wird eine Herausforderung darstellen. Wenn Ihre allgemeinen Felder so selektiv sein können, dass Sie sie verwenden können, um zu den gewünschten Datensätzen zu gelangen, ohne die Tabelle zu konsultieren, wird das ein großer Vorteil sein. (Vgl. Tabelle Scan)
Für so viele Datensätze pro Tag (im Grunde, zwei eine Sekunde den ganzen Tag, und ich nehme an, Sie haben eine Spitzenlastperiode, wo es viel höher ist), wollen Sie auch machen sicher, dass Sie speziell auf Optimierungen bei der Verbesserung der Einführungsgeschwindigkeit. In der Regel sind mehr Indizes = langsamere Einfügungen. Wenn Sie können, sollten Sie in Betracht ziehen, veraltete Datensätze vollständig in einer anderen Tabelle zu archivieren. An früheren Arbeitsplätzen haben wir eine Archivierungsstrategie des letzten Monats, der letzten drei Monate, der letzten sechs Monate jeweils in separaten Tabellen verwendet. Eine andere Idee ist, ältere Datensätze zu löschen. Viele Umgebungen benötigen einfach keine Informationen über ein bestimmtes Datum hinaus. Es ist oft zu teuer, wenn man sich vor drei Monaten an Aufzeichnungen hält.
Schließlich vernachlässigen Sie nicht den physischen Speicher Ihrer Tabelle. Je dünner Ihre Datensätze sind, desto weniger physisches IO muss auftreten, um einen Datensatz lesen (oder auch einfügen) zu können. Sie können Ihre Indizes auf einer separaten physischen Festplatte speichern. Wenn es viele redundante Daten in Ihren Datensätzen gibt, die die komprimierte Tabelle speichern, ist dies möglicherweise eine Geschwindigkeitssteigerung. Wenn Sie etwas Geld zum Brennen haben, sollten Sie den Wert eines guten RAID-Arrays für das Striping Ihrer Daten berücksichtigen.
Also, um Ihre grundlegende Frage zu beantworten: Es ist eine Menge von Aufzeichnungen, aber mit einem sorgfältigen Auge auf das Tuning, wird es kein Problem sein.
Danke für alle Informationen. Du sagst also 6 Millionen, dass ein Tisch kein Problem sein sollte, wenn ich mich um all die anderen Details kümmere, die du erwähnt hast? – Nathan
Ich sage, es ist überschaubar, wenn Sie sorgfältig über all diese Dinge nachdenken. Leistung ist unwahrscheinlich, wirklich groß zu sein, aber es wird gut genug sein. –