Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
sacmoo
Založen: 18. 11. 2014 Příspěvky: 69
|
Zaslal: 16. duben 2017, 13:38:20 Předmět: Import csv subor do SQLite databazy v C# |
|
|
Vie niekto ako by som mohol importnut csv subor do SQLite databazy pomocou C#? Nikde som nic schopne nenasiel. Naprogramoval som si to sam, ale vlozit 60 000 riadkov do SQLite databazy mi trva 5 minut, co je strasne dlho. |
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1558
|
Zaslal: 17. duben 2017, 23:03:15 Předmět: |
|
|
A co trvá dlouho? Načítání csv, nebo zápis do databáze? _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
|
sacmoo
Založen: 18. 11. 2014 Příspěvky: 69
|
Zaslal: 18. duben 2017, 20:29:16 Předmět: |
|
|
frca napsal: |
A co trvá dlouho? Načítání csv, nebo zápis do databáze? |
Uz som to vyriesil, ale dik. |
|
Návrat nahoru |
|
|
Dlaha
Založen: 30. 07. 2007 Příspěvky: 598 Bydliště: Olomouc
|
Zaslal: 19. duben 2017, 10:11:58 Předmět: |
|
|
Je dobré se podělit o to, co bylo špatně a jak jsi to vyřešil. Pro ostatní návštěvníky. _________________ Other Inside
Greenlitnuto! |
|
Návrat nahoru |
|
|
sacmoo
Založen: 18. 11. 2014 Příspěvky: 69
|
Zaslal: 20. duben 2017, 11:02:38 Předmět: |
|
|
Dlaha napsal: |
Je dobré se podělit o to, co bylo špatně a jak jsi to vyřešil. Pro ostatní návštěvníky. |
Problem bol v tom, ze som do tabulky vkladal riadok po riadku. Vyriesil som to tak, ze som si pomocou prikazu command.ExecuteNonQuery() pripravil 60 000 riadkov a pomocou prikazu transaction.Commit() som vlozil do tabulky vsetky riadky naraz, com mi trvalo priblizne 1s.
Tu je cely navod:
https://www.jokecamp.com/blog/make-your-sqlite-bulk-inserts-very-fast-in-c/ |
|
Návrat nahoru |
|
|
Dlaha
Založen: 30. 07. 2007 Příspěvky: 598 Bydliště: Olomouc
|
Zaslal: 20. duben 2017, 14:54:16 Předmět: |
|
|
Takže jsi prováděl Commit po každém řádku? Commit je docela náročná operace, to je svatá pravda. A zároveň commit až nakonec je korektnější, protože buď se ti tam uloží všechny řádky, nebo ani jeden (kdyby nastala někde během zpracování chyba).
My v práci s transakcemi dost šetříme a snažíme se je podržet co jen to jde, aby se počet commitů snížil na nezbytné minimum (a systém zůstal datově stabilní). _________________ Other Inside
Greenlitnuto! |
|
Návrat nahoru |
|
|
|