Hallo ihr,
wenn es Sachen gibt womit ich mich schwer tue, dann zählt SQL/MySQL dazu. Als Beispiel, ich habe eine MySQL Datenbank und dort drin derzeit 4 Tabellen. Desweiteren habe ich eine DatenManager Klasse welche alle Daten während das Script läuft hält und zu bestimmten Ereignissen Daten nachlädt oder speichert. Nun habe ich ja gelernt dass viele Datenbankaufrufe sehr Performancelastig sind und nun frage ich euch wie ich diese minimieren kann.
Ich frage mal anhand eines Beispieles:
for key, value in pairs(mapStats) do
self:RunExec("UPDATE toptimes SET " .. key .. " = '" .. value .. "' WHERE mapname = '" .. mapName .. "'")
end
Hier gehe ich zum Beispiel eine Tabelle durch und schreibe Werte in die Datenbank. Wenn ich es richtig verstanden habe, dann ist jedes ...
self:RunExec(...)
... eine eigene Query. Wenn nun 20 Sachen in der Tabelle sind wären das schonmal 20 Queries nur für EINE Sache.
Wie kann ich das besser lösen? Die Idee wäre die Query Aufrufe erstmal alle in einem größeren String zu sammeln und dann erst gesammelt abzuschießen. Geht das und wie lang darf so ein String maximal sein?
Viele Grüße,
Sam