.[ ČeskéHry.cz ].
Import csv subor do SQLite databazy v C#

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> .NET
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
sacmoo



Založen: 18. 11. 2014
Příspěvky: 67

PříspěvekZaslal: 16. duben 2017, 13:38:20    Předmět: Import csv subor do SQLite databazy v C# Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1371

PříspěvekZaslal: 17. duben 2017, 23:03:15    Předmět: Odpovědět s citátem

A co trvá dlouho? Načítání csv, nebo zápis do databáze?
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
sacmoo



Založen: 18. 11. 2014
Příspěvky: 67

PříspěvekZaslal: 18. duben 2017, 20:29:16    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
Dlaha



Založen: 30. 07. 2007
Příspěvky: 594
Bydliště: Olomouc

PříspěvekZaslal: 19. duben 2017, 10:11:58    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
sacmoo



Založen: 18. 11. 2014
Příspěvky: 67

PříspěvekZaslal: 20. duben 2017, 11:02:38    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
Dlaha



Založen: 30. 07. 2007
Příspěvky: 594
Bydliště: Olomouc

PříspěvekZaslal: 20. duben 2017, 14:54:16    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> .NET Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna