Hallo,
öhmm welchen
SQL Monitor meinst du?
Für
mySQL kenne ich nur das was mir der
mySQL Administrator mitliefert.
Hier mal 3 Sekunden Ausschnitt mit parametriesiertem
Query.
Benutzt wird ZQuery Komponente. Meine Applikation bremst es auch nicht, die langweilt sich bei 5% Prozessorlast.
Beim der
MSSQL version habe ich an dieser Stelle Prozessorlast ca 80%, einfach weil es viel schneller geht und er viel mehr zu tun hat.
MySQL schafft einfach nicht mehr wie ca 10 Updates pro sekunde
Aber auch der
mySQL Dienst langweilt sich und hat kaum Prozessorauslastung(5%).
Die Tabelle aufm
mySQL ist im InnoDB Format, hat einfach 4 Integer, 2 varchars und ein bit feld. Primary Key ist auf der ID über die ich ja auch das Update mache.
Ansonsten hat die Tabelle nur noch einen weiteren Index auf ein weiteres Feld das ich woanderst häufig zur Suche brauche.
Ich frage mich halt wer hier auf wenn und warum wartet *g
So baue ich die
Query jetzt auf:
Delphi-Quellcode:
with QryLastScan
do
begin
SQL.Clear;
SQL.Add('
UPDATE CMDB_Software_Scan SET LastScan =:ScanDate ');
SQL.Add('
, Aktiv = 1');
SQL.Add('
WHERE ID = :ID');
end;
Und so Rufe ich sie auf:
Delphi-Quellcode:
with QryLastScan do
begin
ParamByName('ScanDate').AsString := QuotedStr(DateTimeToStr(scanDate));
ParamByName('Id').AsInteger:= ScanId;
ExecSQL;
end;
Und hier mal ein 3sec AUsschnitt ausm
mySQL Administrator
SQL-Code:
061213 13:29:09 5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2240
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2241
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2242
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2243
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2244
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2245
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2246
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2247
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2248
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2249
061213 13:29:10 5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2250
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2251
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2252
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2253
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2254
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2255
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2256
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2257
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2258
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2259
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2260
061213 13:29:11 5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2261
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2262
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2263
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2264
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2265
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2266
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2267
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2268
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2269
5
Query UPDATE CMDB_Software_Scan
SET LastScan ='
\'13.12.2006 13:10:58\'
' , Aktiv = 1
WHERE ID = 2270
Ich habe jetzt mal testweise etwas gebastelt mit directSQL. Der Schafft auch nicht mehr wie 10 Updates pro sekunde
Transaktionen verwende ich nicht, da ich erstens alleine schreibzugriff habe und zweitens einfach nur ein Update machen will :p
Transaktionen sollten doch auch meines Wissens nichts mit der Geschwindigkeit zu tun haben, sondern es eher noch langsamer machen weil er ja Rollbackpunkte etc... bereithalten muss. Lasse mich aber gerne eines besseren belehren
Gruß Oliver