| |
ADO.NET / DatenbankenADO.net: DB-Abfrage mit Parameter sehr langsam, ohne Parameter sehr schnell | | | Autor: mkolb | Datum: 28.11.16 20:51 |
| Hallo,
ich lese aus einer Datenbank (SQL-Server) aus. Wenn ich die Abfrage mit einem Parameter versehe,
dann dauert diese rund 10-15 Sekunden. Das dürfte daran liegen, daß die Datenbank schon megawuchtig ist, mit Millionen Datensätzen.
Nun habe ich festgestellt, wenn ich die Abfrage direkt am SQL Management-Studio durchführe, dort aber Werte direkt eingebe, ist das rasend schnell, quasi 0 Sekunden.
SQL = "Select * from [AKTIEN] WHERE NR=@Suchtext "
dim cmd as SqlCommand = new SqlCommand()
cmd.Connection = con
cmd.CommandText = SQL
cmd.Parameters.AddWithValue("@Suchtext", ID)
dim reader as SqlDataReader = cmd.ExecuteReader() ' <- hier dauert es ca.
' 10-15 Sekunden
while reader.Read()
... Werte auslesen
end while Nun habe ich das im Code ebenfalls umgesetzt und voila, meine Anwendung rast nur so.
SQL = "Select * from [AKTIEN] WHERE NR="+ID.toString()+" " anpasse, sowie die Zeile
cmd.Parameters.AddWithValue("@Suchtext", ID) entferne, dann rast die Abfrage.
Ich möchte aber lieber Parameter verwenden, wegen SQL-Injection, etc.
Was muß ich tun, damit meine Abfrage per Parameter ebenfalls rast ?
Tschau
Martin
mein aktuelles .net-Projekt:
http://www.fiman.de
freue mich über Test-Informationen.
Screenshots gibt es hier: http://www.fiman.de | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevDTA 3.0 Pro
SEPA mit Kontonummernprüfung
Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|