1. "Execution Plan": Ausführen derselben Abfrage (Auswahl von Primärschlüssel), source_elapsed Säule:
erstellen als Insert :
2266,1768,1672,3302,3324,1422,1623,3833,3933,3519,4166. Durchschnitt: 2803
als Aktualisierung erstellen:
1621,3498,4769,3680,3905,1781,4215,3764,3747,3460,1987. Avg: 3312
Vielleicht sieht es aus wie Update ist ein bisschen langsamer, aber das ist nicht wirklich konsistent, und ich glaube, dass mit einer höheren Anzahl von Ausführungen sollten sie gleich sein.
2. Lagerung:
Row als Insert erstellt:
[user1] @ 184 Row [info = [ts = 1486368137507000 ttl = 3600, lassen = 1486371737]]: 2017-01-01 14: 00Z, bla, 5,2 | [Blu = 77777 ts = 1486368137507000 ttl = 3600 LDT = 1486371737], [ble = 0 ts = 1486368137507000 ttl = 3600 LDT = 1486371737]
Row als Update-erstellt:
[user30] @ 122 Reihe [info = [ts = -9223372036854775808]]: 2017-01-01 14: 00Z, bla, 5,2 | [Blu = 777 ts = 1486368139142000 ttl = 3600 LDT = 1486371739], [ble = 1 ts = 1486368139142000 ttl = 3600 LDT = 1486371739]
Ich gehe davon aus, dass in der Tat sstabledump Daten darstellt, wie sie in der Datei gespeichert. Der einzige Unterschied hier ist, dass die Zeile, die als Einfügung erstellt wurde, mit ttl generiert wird und Spalten auf Zeilenebene (und ts auf die erzeugte Zeit) setzt - dies ist der Grund, dass Zeilen mit allen Null-Nicht-Schlüsselspalten mit create als Einfügung und anwählbar sind nicht wählbar mit create as update. So werden mit insert erstellte Zeilen mehrere Bytes mehr Speicher benötigen, das ist der Unterschied.
3.Grabsteine:
Erstellt als Insert:
[user1] @ 48 Row [info = [ts = -9223372036854775808]]: 2017.01.01 14: 00Z, bla, 5,2 | [Blu = ts = 1486368407044000 LDT = 1486368406], [ble = ts = 1486368407044000 LDT = 1486368406]
als Update-Erstellt:
[user30] @ 0 Row [info = [ts = -9223372036854775808] ]: 2017-01-01 14: 00Z, bla, 5,2 | [Blu = ts = 1486368403444000 LDT = 1486368403], [ble = ts = 1486368403444000 LDT = 1486368403]
Wie erwartet, Grabsteine sieht genau das gleiche für beide erzeugt.
Zusammenfassung:
Aus meiner Beobachtung gibt es keinen wirklichen Unterschied in der Leistung zwischen zwei Arten von Zeilen Schöpfung. Ich werde mich freuen, andere Tests/Beobachtungen/Quellcode-Bewertungen hier zu sehen.