Einzelnen Beitrag anzeigen

blackfin
(Gast)

n/a Beiträge
 
#12

Re: CPU Auslastung bei 10% und bei XP Home bei 70%

  Alt 30. Apr 2010, 11:07
Vielleicht solltest du, um das Problem zu lösen, einfach das Konzept der Abfragen etwas abändern.
Wie hoika schon bemerkt hat, ist es bestimmt in den meisten Fällen nicht notwendig, alle paar Sekunden die kompletten Daten zweier gejointer Tabellen zu holen, um zu prüfen, ob eine neue Aufgabe ansteht.

Ich habe so etwas Ähnliches auch schon gemacht und gehe dabei eigentlich meist so vor:

1) Wenn eine neue Aufgabe eingefügt wird, wird für das entsprechende "device" einfach nur ein boolsches Flag in einer Tabelle auf "1" gesetzt.
(Beispiel: Feld "task_available" in einer Tabelle Namens "tasks" als Boolean-Type)

2) Dieses Flag (und zwar nur dieses) wird vom Client alle paar Sekunden abgefragt:
('SELECT task_available FROM tasks WHERE device_id='+MY_DEVICE_ID)

3) Ist das Flag "1", holt sich der Client die relevanten Daten (in deinem Fall die gejointen Tables) und setzt das Flag wieder auf "0".

Somit ist der "Check-Aufwand" minimal und die CPU-Auslastung dürfte nichtmal zu spüren sein.

Vielleicht bringt dir das ja was

grüssle,

Fin
  Mit Zitat antworten Zitat