Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wann sollte welches MySQL-Partitionierungsmodell verwendet werden?

Es hängt genau davon ab, welche Art von Leistungsproblem Sie haben.

Die Partitionierung von MySQL 5.1 erlaubt Ihnen nur, das erste Bit des Primärschlüssels zu partitionieren. Das bedeutet, dass es oft wünschenswert ist, einen zusammengesetzten Primärschlüssel zu haben, wenn Sie eine nützliche Form der Partitionierung verwenden möchten.

Einer der häufigsten Anwendungsfälle ist das Verfallenlassen alter Daten, was in nicht partitionierten Fällen sehr teuer sein kann. In diesem Fall müssten Sie den Primärschlüssel mit Datum/Uhrzeit beginnen lassen und darauf partitionieren.

Dann können Sie Zeilen verfallen lassen, indem Sie alte Partitionen programmgesteuert löschen.

In anderen Fällen können Ihre häufigen Abfragen von der Partitionsbereinigung profitieren.

Denken Sie daran, dass Sie nicht jedes Leistungsproblem mit Partitionierung beheben können; es ist keine Magie. Bei Abfragen, die nicht von der Partitionsbereinigung profitieren, muss jede Partition abgefragt werden. MySQL tut dies nicht parallel, daher ist es normalerweise so langsam wie die Verwendung einer nicht partitionierten Tabelle.

  1. Identifizieren Sie genau, was Ihre Leistungsprobleme sind
  2. Entscheiden Sie, wie viel Verbesserung ausreichen würde, um sie zu beheben
  3. Entscheiden Sie, wie viel Leistungsrückgang Sie in anderen Anwendungsfällen tolerieren könnten
  4. Testen, testen, testen und testen Sie Ihre Daten in Produktionsgröße auf Hardware in Produktionsqualität in verschiedenen Konfigurationen
  5. Wiederholen Sie, bis Sie zufrieden sind.
  6. Führen Sie relevante Funktionstests durch; loslassen!