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


  • #2
    Ich hab keine Ahnung was du genau willst. Mach mal bitte ein Beispiel mit ~5 Dummydaten.
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      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.
      PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

      Kommentar


      • #4
        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

        Kommentar


        • #5
          Geht das?
          Du hast den Code doch offenbar schon geschrieben! Was kommt denn raus?
          http://hallophp.de

          Kommentar

          Lädt...
          X