MySQL Forums
Forum List  »  German

Partitionierung bringt keine Performanceverbesserung
Posted by: Haribert Schnoeckel
Date: May 31, 2016 06:32AM

Hallo,

Ich versuche momentan die Vorteile von partitionierten Tabellen herauszufinden, um abschätzen zu können, ob sich eine Umstellung im Betriebseinsatz lohnt.

Dazu habe ich mir zwei Tabellen erstellt, 'ptest' und 'ptest_no_partitions', die Namen dürften selbstredend sein. Die Partitionstabelle habe ich mit mehreren Vorgehensweisen angetestet, zu erst mit der Maximalanzahl von Partitionen (1024) und mit einer geringeren Anzahl (50) mit jeweils zwischen 5 und 20 Millionen Einträgen.

Habe mir zusätzlich ein PHP-Skript geschrieben, um die Testabfragen zu vereinheitlichen und zu verschnellern. Inserts wurden einige Tausend gemacht um den Durchschnittswert zu ermitteln, der Rest (SELECTs und INSERTs) sind jeweils einzelne Abfragen, allerdings habe ich auch darauf geachtet, dass im Hintergrund sonst keine SQL-Abfragen stattfinden.

Im Anhang ist der Log meines Skriptes, der zur Veranschaulichung dienen soll, um zu zeigen, dass es scheinbar keine Geschwindigkeitsvorteile gegenüber nicht-partitionierten Tabellen gibt, sondern, im Gegenteil, die Performance nur beeinträchtigt wird.

Die Tabellentypen sind InnoDB, ein Describe liefert:

+-------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------------+------+-----+---------+----------------+
| Date | date | YES | MUL | NULL | |
| id | int(11) unsigned | NO | MUL | NULL | auto_increment |
| text | varchar(32) | NO | | NULL | |
+-------+------------------+------+-----+---------+----------------+

Log zum Vergleich bei Abfragen (habe meistens auch noch mal händisch nachgeprüft und bin auf ähnliche Ergebnisse gekommen):


-- STATISTICS FOR TABLE ptest --
> SELECT on partitioned column : 0.211394s
> SELECT on primary key ID : 0.391314s
> UPDATE on primary key ID : 0.539117s
> SELECT on unindexed column text : 41.573074s
> INSERTS :
- AVG : 0.0242209673s
- MIN : 0.0002820492s
- MAX : 0.2606310844s

-- STATISTICS FOR TABLE ptest_no_partitions --
> SELECT on partitioned column : 0.154859s
> SELECT on primary key ID : 0.007518s
> UPDATE on primary key ID : 0.025108s
> SELECT on unindexed column text : 20.460473s
> INSERTS :
- AVG : 0.0094129403s
- MIN : 0.0002379417s
- MAX : 0.0586159229s

-- DIFFERENCE (Factor no_partitions / partitions) --
> SELECT on partitioned column : 1,36
> SELECT on primary key ID : 52,17
> UPDATE on primary key ID : 21,47
> SELECT on unindexed column text : 2,03
> INSERTS :
- AVG : 2,57
- MIN : 1,18
- MAX : 4,44

Options: ReplyQuote


Subject
Views
Written By
Posted
Partitionierung bringt keine Performanceverbesserung
1212
May 31, 2016 06:32AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.