MySQL - Anfrage abschicken, Antwort später abfangen
-
Hallo,
ich hab eine Frage bezüglich der MySQL-C-API.
Und zwar bin ich gerade an einem Serverprozess dran, der allerdings Thread-los sein soll.
Dabei stoße ich allerdings auf das Problem, dass man nicht auf das Query-Ergebnis warten kann.Ich habe meine Mainloop und möchte dort halt die Anfragen der Clients beantworten.
Wenn eine Anfrage jetzt allerdings erfordert, dass ich in der Datenbank rumstöber, dann dauert das halt ein wenig zu lang.
Das der eine Client dann warten muss, ist ja nicht so schlimm, nur die Anderen müssen sich dann ja auch gedulden.
Somit wird die ganze Schleife aufgehalten.Das ganze ist schade, da mein Konzept "mit ohne" Threads eigentlich übersichtlich und schnell war, da man nicht die ganzen Exklusionen hat.
Nur jetzt weiß ich absolut nicht weiter.Ich weiß nur, dass man mit mysql_(real_)query() sogesagt direkt das Ergebnis bekommt.
Gibt es irgendeine Möglichkeit, das Problem zu lösen?
Viele Grüße
tHOMY
-
Du bekommst immer das Ergebnis.
Das Ergebnis wird über den gleichen Socket gesendet.
Der Server kann ja nicht eine Verbindung zu deinem Client aufbauen wenn es dir genehm ist.
Also IMHO nein. Abfrage und sofort Ergebnis.
Wenn es zu langsam ist dann musst etwas am DB-Design ändern. Index, etc.
-
Danke für deine Antwort !
Es geht nicht darum, wie ich die Geschwindigkeit der Antwort verbessern kann, bspw. durch einen Index,
sondern einfach ums Prinzip, dass ich ohne Threads solch ein System nicht umsetzen kann.Ich werde wohl mein Konzept komplett neu überarbeiten müssen.
Schade!Vielen Dank!
Gruß
tHOMY