Hab ich das jetzt richtig verstanden?
Die Funktion "mysql_free_result" braucht man nichtmehr, wenn man cache nutzt?
Beiträge von Pille
-
-
als wieder Geld damit zu machen
Die Frage ist, ob es wirklich das Ziel dieser Sendung // Films ist, damit Geld zu verdienen.
Womöglich will man auf das wirklich strittige Thema aufmerksam machen und Menschen 'wachrütteln'.Wobei ich glaube, wegen der Tatsache dass Annete Frier da mitspielt, dass es hier doch nur um Geld geht.
-
Suchbegriff? Nach was soll ich suchen, deine Antwort hättest du dir ehrlich gesagt auch sparen können
Deinen ganzen Thread hättest du dir sparen können,
weil du keine Informationen über dein Script preisgibst. -
Suche die entsprechende Stelle im Script und ersetze die Zahl '20' mit einer beliebigen anderen Zahl.
-
Du verwechselst playerid mit pID
playerid = Der Spieler der den Befehl ausführt
pID = Der Spieler den der Spieler (playerid) im Chat eingegeben hat. -
-
Dann versuch es mal mit dem Deutschen Dokumentation:
http://dev.mysql.com/doc/refman/5.1/de/commit.htmlSorry, selbst damit kann ich quasi 0 anfangen..
Kannst du mir es erklären? Wäre super -
Du kannst dir auch mal "Transactions" ansehen:
http://dev.mysql.com/doc/refman/5.5/en/commit.htmlOhje, das müsstest du mir jetzt aber schon genauer erklären, mit der SAMP-Wiki komme ich ganz gut zurecht,
aber diese MySQL-Wikis sind so komplex, sogar im deutschen, dass ich jedesmal beim lesen kläglich scheitereWenn diese durchgeführt wurde ( extra Thread natürlich ) , dann machst du den gmx per rcon. Sollte doch dein letztes Problem lösen.
Bei Select Now() gibt er die aktuelle Uhrzeit (& Datum) aus.
Wie soll ich das überprüfen?//Edit: Du menist ich sende die Now() Anfrage, nach allen Accountspeicherungen,
und sobald diese ausgeführt ist, startet der Server?Wo wir schonmal dabei sind: Was ist schneller? Gettime bzw. gettdate oder das ganze
über MySQL: Now(), UNIX_TIMESTAMP() etc. -
schwer ist es nicht, nein, aber das Problem ist folgendes:
Bei einer Endround sollen zuerst alle Accounts gespeichert werden.
Erst dann soll die Endround erfolgen (Rcon: "gmx").
Dadurch, dass mehrere Threads eröffnet werden, kann nicht geprüft werden,
wann denn alle Accounts gespeichert werden. -
Mit dem Editor.
-
Das wird so nicht funktionieren. Man kann jedoch das Multi-Insert Verfahren anwenden, wenn man einen Primary Key gesetzt hat (hier zB. ID):
Das klingt nach der Lösung des Problems, funktioniert aber leider bei mir nicht.Habe mir folgende Tabelle erstellt:
Code
Alles anzeigenCREATE TABLE `dynamo` ( `ID` INT(11) NOT NULL AUTO_INCREMENT, `Name` CHAR(20) NOT NULL, `Test` INT(10) NULL DEFAULT NULL, `Test2` INT(10) NULL DEFAULT NULL, `Test3` FLOAT NULL DEFAULT NULL, PRIMARY KEY (`ID`) ) COLLATE='latin1_swedish_ci' ENGINE=InnoDB AUTO_INCREMENT=3;
Nun habe ich 2 Testreihen erstellt:
Und hier der Query den ich eingebe:
SQLINSERT INTO TestTabelle (ID,Name,Test,Test2,Test3) VALUES (1,'ABC',88,12,999) ON DUPLICATE KEY UPDATE Name = VALUES (Name), Test = (Test), Test2=(Test2),Test3=(Test3);
MySQL meldet:
Und die Tabelleninhalte werden nicht geupdated...
Ist was am Code falsch? -
Dann entferne deine IP manuell aus der samp.ban-Datei.
-
In der Konsole eingeben: "unbanip <deineip>"
-
Dann muss ja der string... 512*7 = ca. 3500 Arrays haben.
Macht das was? Oder kann ich das irgendwie anders lösen? -
Dann müsste der string, den ich umformatiere, zig tausend Zeichen lang sein.
Das sind also 7 UPDATEs für jeden Spieler...
Deswegen laggt es wahrscheinlich so.
Wie kann ich das verhindern? -
Ich fürchte du hast meine Frage nicht verstanden.Dieser MySQL-Query benötigt ziemlich lange, weil er jeden Wert mit dem Feldnamen überprüft werden muss.
Sind von dieser Abfrage mehrere, mit circa 110 Werten, führt es bei einem gut gefüllten Server zu mehreren Sekunden laggs.
ich fragte ob es noch Alternativen gibt.Server Laggs [20:14:00]CodeAccount ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:00] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:00] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:01] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:01] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:01] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:02] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:02] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:02] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:02] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:03] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:03] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:03] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:04] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:04] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:04] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:05] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:05] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:05] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:05] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:06] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:06] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:06] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:06] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:07] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:07] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:07] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:08] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.
Server Laggs Namen wurden rauseditiert.
Was seltsam ist, dass die Accoutspeicherung entweder 0 oder 20 Millisekunden dauert.
Und trotz dieser geringen Dauer (28 Accounts gespeichert, 28*20 = 560ms = 0,56 sekunden)
laggt der Server ganze 8 Sekunden. -
Liebe Community,
mein Server hat derzeit das MySQL-System, dieses hat 109 Felder pro Spieler.
Wenn alle Accounts gespeichert werden, beginnt der Server für einige Sekunden sich aufzuhängen.Das könnte man mit OnQueryFinish etwas beheben, jedoch finde ich diese Möglichkeit recht kompliziert.
Zur Frage:
Ist es möglich, einen Update-Befehl zu schreiben, der die ganze Reihe aktualisiert,
ohne jeden Wert abzufragen?CodeID PERSONALNUMMER NAME VORNAME GEBURTSDATUM TELEFON (und noch mehr)13 60001 Aagenau Karolin 02.01.1950 0234/66006001 usw.18 80002 Aliman Zafer 12.11.1965 0201/4012161 usw.
Beispiel UPDATE * FROM Accounts (13,60002,'Bayern','Max','05.01.1950','2398/238902389') WHERE ID = 13 -
Anstatt abzufragen ob der Spieler in der Nähe ist, wäre es deutlich ressourceneffizienter und einfacher, wenn du die Abfrage IsPlayerStreamedIn zu verwenden.
-
-