Jag har en webbapplikation i ASP.NET C# och MS SQL Server där jag läser igenom en textfil där jag vill spara denna till en databas. Just nu gör jag så att jag skapar en ny TableRow som jag uppdaterar men det går Väldigt segt.
Hur ska jag göra på smidigast sätt för att det ska gå så snabbt som möjligt, det är ju inga stora datamängder utan bara väldigt många poster?
Att bara köra 1500 INSERT statements till en tabell (som inte har primärnyckel/indexerad kolumn) borde ju gå tämligen kvickt. Hur ser koden ut? Hur är tabellen designad?
Att bara köra 1500 INSERT statements till en tabell (som inte har primärnyckel/indexerad kolumn) borde ju gå tämligen kvickt.
Har gjort ett program som gör på det sättet. Vanlig insert. Plockar in ca 8000 poster på ca en minut. Maskinen det körs på är inte direkt snabb heller men det duger för ändamålet. I mitt fall tömmer jag tabellen innan jag petar in posterna på nytt.
Det är på min Windows-burk just nu
Men jag skapar en SqlConnection, sen en SqlDataAdapter och hämtar ut all info från tabellen. Släger in det datat i ett dataset. Sedan skapar jag en DataTable och sedan loopar jag igenom min textfil och plockar ut informationen och skapar en ny datarow som jag kör in i min datatable i varje loop, sen när textefilen är genomgått uppdaterar jag databasen från mitt dataset.
ungefär så... och tabellen har en auto increment primary key int, en int, två små nvarchars, och en ntext.
Varför hämtar du data från databasen och fyller datasetet?
Varför lägger du inte in informationen direkt till databasen från textfilen och skippar steget med DataSet?
246 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849