webForumDet fria alternativet

Äter upp mitt minne

.NET

7 svar · 375 visningar · startad av Nickemannen

Medlem sedan aug. 20003 575 inlägg
Frågan#1

Jag har gjort ett program som scannar igenom en textfil
som ligger på 15-17 Mb och loopar in den visentliga texten
i en ms sql databas men mitt minne äts upp
i början går det jätte fort men i slutet går det väldigt segt
programmmet äter upp
200 MB på 10 sekunder jag har (640) det stiger till 580
och ligger sedan där tills programmet avslutas.

Det görs ca 27000 ExecuteNoquery anrop när den lägger in.

Kan man på något sätt stänga ett SqlCommand ?
kanske man inte borde i detta läge hur kan jag snabba upp allt ?

går det snabbare om jag förstör strängar som jag lägger in informationen temporärt i innan jag lägger in det i databasen ?

Medlem sedan aug. 20003 575 inlägg
#2

oj, märkte nu att det var sql server som tog upp allt...
hur skall jag göra för att det inte skall gå så ?

Medlem sedan mars 20002 836 inlägg
#3

dunka in mer minne! :e

eller inte köra sååå många exekveringar ;)

cya,
PatrikB

Medlem sedan apr. 20012 266 inlägg
#4

Använder du Stored Procedures? gör det om du inte gör det, SP ger en prestandard förbättring.

Medlem sedan dec. 19991 072 inlägg
#5

Om du använder SQL-server kan du ställa in hur mycket minne den max får använda. H-klicka på Servern i Enterprise Manager, välj "Properties" och "Memory".

Medlem sedan mars 20002 836 inlägg
#6

Om det är en dedicerad SQL Server (den servern bör vara det) så ska den ju få använda "allt" minne som finns tillgängligt.

Sedan att man har en utvecklingsburk där man kör "hela kitet på" är ju en annan sak.

Kanske går det att optimera kod, kanske är det fel på strukturen i programmet som körs mot/använder sig av SQL Servern.
Det finns många "fel källor" till dålig prestanda.

Men! du bör ju inte dra ner antal mb som sql-servern får använda då prestandan kommer att bli än mer lidande FÖR alla databaser på den servern.

cya,
PatrikB

Medlem sedan dec. 19996 522 inlägg
#7

renholm
Sp belastar ju sqlservern mer än när du enbart kör anrop till den, trodde jag iaf

Medlem sedan aug. 2001458 inlägg
#8

erka skrev:

Sp belastar ju sqlservern mer än när du enbart kör anrop till den, trodde jag iaf

När du ställer frågor direkt måste dessa kompileras av servern varje gång, medan en stored procedure kompileras bara 1 gång.

Om du fortfarande har problem underlättar det om du kan beskriva mer detaljerat. Har du kod som reproducerar problemet? Samt visa hur databasen ser ut (även index). Det är svårt att med infon du givit avgöra om du missat något i din kod, eller om databasen behöver putsas.

248 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)