Batch insertion performance.
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 43/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Ambito
- database, performance
Direzione di ricerca
Start with the benchmark changes in linked issue #98 and compare Cornucopia’s insert generation with the hand-tuned alternatives mentioned here. Then trace how inserts are generated and how parameters are handled, identifying where multi-row statements can fit while preserving streaming for cases that need it. Done when the appropriate inserts can use multi-row statements and benchmarks show the performance impact.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Right now there's no way to perform multi-inserts. That means we have to call this
INSERT INTO table(...) VALUES (...)
multiple times, instead of calling that
INSERT INTO table(...) VALUES
(...),
...
(...)
once.
There are cases where the former is better, notably when you are streaming your parameters, and/or they can't all fit in memory at once. But, typically, multi-row inserts are faster.
We should find a way to use multi-row statements where approriate.
From the benchmarks added here #98, it seems like this is our one major performance gap with hand-tuned postgres or diesel.
- Lingua principale
- Rust
- Stelle
- 1.2k
- Fork
- 77
- Merge medio
- 5g 12h
- PR unite (30g)
- 1
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di cornucopia-rs/cornucopia
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
cornucopia-rs/cornucopia#334 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 76/100
cornucopia-rs/cornucopia#333 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
cornucopia-rs/cornucopia#330 · 2 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
cornucopia-rs/cornucopia#309 · 2 commenti ·
-
configuration feature
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
cornucopia-rs/cornucopia#292 ·
Tutte le issue di cornucopia-rs/cornucopia
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
RustCrypto/utils#1597 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Non-`main` default branchesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
max-sixty/worktrunk#4727 · 7 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
follow-up
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
carrick-sh/carrick#1859 ·
I maintainer di solito rispondono entro 1 giorno