Ankündigung

Einklappen
Keine Ankündigung bisher.

eigene Partition für jeden gruppierten Wert einer Spalte

Einklappen

Neue Werbung 2019

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

  • eigene Partition für jeden gruppierten Wert einer Spalte

    Hallo,

    Ich habe eine sehr große MYSQL Tabelle die aus drei Spalten besteht.

    Objekt, Eigenschaft, Wert

    Es gibt 30000 Objekte die jeweils 10000 Eigenschaften haben.
    30000x10000= 300000000 Datensätze

    Nun wollte ich die Eigenschaften und Werte anhand der Objekte in separate Tabellen Partitionieren. Also im Beispiel 30000 Partitionen.

    Geht das? Ich währe für jeden hilfreichen Tipp dankbar!

    Mit freundlichen Grüßen
    Tl1000sm1234

  • Asipak
    antwortet
    Geht das?
    Du hast den Code doch offenbar schon geschrieben! Was kommt denn raus?

    Einen Kommentar schreiben:


  • tl1000sm1234
    antwortet
    Hallo,

    Ich hab keine Ahnung was du genau willst. Mach mal bitte ein Beispiel mit ~5 Dummydaten.
    Code:
    CREATE TABLE uw_2 (
      id_o		MEDIUMINT(8)	UNSIGNED	NOT NULL,
      id_e		MEDIUMINT(8)	UNSIGNED	NOT NULL,
      w		FLOAT(4,2)	                NOT NULL,
      PRIMARY KEY 	(id_o, id_e),
      KEY           (id_e)
    )ENGINE=MEMORY,
    PARTITION BY HASH(id_o)
    PARTITIONS 30000;
    Code:
    id_o          id_e        w
    
    1             1           1,2
    1             2           3,2
    1             100         2,1
    2             2           3
    2             100         4
    2             103         1,1
    = 2 Partitionen (1 und 2)

    Bei 30000 Partitionen mit je nur 10000 Rows ist der Verwaltungsaufwand vermutlich erheblich größer als der Nutzen.
    Im Handbuch steht:
    müssen Sie explizit angeben, in welcher Partition Spaltenwerte gespeichert werden sollen, während MySQL Ihnen dies bei einer Hash-Partitionierung abnimmt.
    Mit freundlichen Grüßen

    Tl1000sm1234

    Einen Kommentar schreiben:


  • akretschmer
    antwortet
    Zitat von tl1000sm1234 Beitrag anzeigen
    Hallo,

    Ich habe eine sehr große MYSQL Tabelle die aus drei Spalten besteht.

    Objekt, Eigenschaft, Wert

    Es gibt 30000 Objekte die jeweils 10000 Eigenschaften haben.
    30000x10000= 300000000 Datensätze

    Nun wollte ich die Eigenschaften und Werte anhand der Objekte in separate Tabellen Partitionieren. Also im Beispiel 30000 Partitionen.

    Geht das? Ich währe für jeden hilfreichen Tipp dankbar!

    Mit freundlichen Grüßen
    Tl1000sm1234
    Bei 30000 Partitionen mit je nur 10000 Rows ist der Verwaltungsaufwand vermutlich erheblich größer als der Nutzen.

    Einen Kommentar schreiben:


  • tkausl
    antwortet
    Ich hab keine Ahnung was du genau willst. Mach mal bitte ein Beispiel mit ~5 Dummydaten.

    Einen Kommentar schreiben:

Lädt...
X