Ich habe eine PHP-Web-Anwendung und wenn in eine Tabelle eingefügt, habe ich einen Trigger geschrieben, um einige Punkte zu berechnen, und das braucht Zeit. Meine PHP-Anwendung wartet bis der Trigger abgeschlossen ist. Kann dieser Trigger in einem separaten Thread ausgeführt werden, sodass meine Anwendung nicht auf den Abschluss des Triggers wartet?Gibt es eine Möglichkeit, den Trigger in einem separaten Thread in MySQL auszuführen?
Antwort
Nr
Aber wie Bill Clinton hätte gesagt, „und ich werde Ihnen sagen, warum.“
Einer der großen Vorteile eines Triggers ist, dass die Aktionen des Triggers in der Transaktion der ursprünglichen Anweisung enthalten sind, die den Trigger ausgelöst hat. Dies ist eine gute Sache der relationalen Denkweise, weil wir ACID-Konformität mögen.
Jetzt, wenn Sie diese ACID-Kompatibilität nicht benötigen, und es ist in Ordnung, dass die ausgelösten Aktionen "eventuell" wirksam werden, dann entfernen Sie den Auslöser und machen Sie eine "Aktionstabelle". Dann kann entweder der Auslöser etwas in die Aktionstabelle fallen lassen oder Ihr PHP-Code könnte dies tun. Sie können einen Job haben, der diese Tabelle einmal pro Sekunde abfragt, und wenn er etwas findet, wird er ausgeführt. Mach dir keine Sorgen über die Leistung auf dem Daemon, eine einmal pro Sekunde Abfrage einer Tabelle, die normalerweise leer ist, ist nichts.
laufen zu lassen Danke für die informative Antwort – tamilnad
Danke, dass Sie meinen Morgen mit diesem Zitat gemacht haben! :) –
- 1. Gibt es eine Möglichkeit, ein PHP-Skript von MySQL auszuführen?
- 2. Gibt es eine Möglichkeit, Core Animation zu zwingen, den Thread auszuführen?
- 3. BeginReceive in einem separaten Thread
- 4. gibt es eine Möglichkeit, Befehle in Python auf Windows auszuführen?
- 5. Gibt es eine Möglichkeit, Aggregatfunktionen in Google App Engine auszuführen?
- 6. Gibt es eine Möglichkeit, AT-COMMAND programmgesteuert in Android auszuführen?
- 7. Gibt es eine Möglichkeit, R in Excel auszuführen?
- 8. Gibt es eine Möglichkeit, FIRST() in SQL Server auszuführen?
- 9. Gibt es eine Möglichkeit, Android TV in VirtualBox auszuführen?
- 10. Gibt es eine Möglichkeit, Komponententests sequenziell mit MSTests auszuführen?
- 11. mySQL Trigger gibt den Fehler
- 12. Starten von Klassenoperationen in einem separaten Thread
- 13. Gibt es eine Möglichkeit, eine umgekehrte XPath-Abfrage auszuführen?
- 14. Gibt es eine Möglichkeit, eine Do-While auszuführen?
- 15. Gibt es eine Möglichkeit, R-Code von JavaScript auszuführen?
- 16. Gibt es eine Möglichkeit, Komponententest für eine WebGL-Webanwendung in einem Headless-Browser auszuführen
- 17. Gibt es eine Möglichkeit, PHP auf Android auszuführen
- 18. Gibt es eine Möglichkeit, einen separaten Kurztitel für UITabBar festzulegen?
- 19. Gibt es eine Möglichkeit, Roboter-Framework-Testsuiten parallel auszuführen?
- 20. Gibt es eine Möglichkeit, 2 NSAnimation-Objekte gleichzeitig auszuführen?
- 21. Gibt es eine Möglichkeit, git im schreibgeschützten Modus auszuführen?
- 22. Gibt es eine Möglichkeit, Mercurial mitzuteilen, dass .orig-Dateien in einem separaten Verzeichnis abgelegt werden sollen?
- 23. Hinzufügen Kind Fragmente in einem separaten Thread
- 24. ServerSocket in einem separaten Thread erstellen?
- 25. Gibt es eine Möglichkeit, Bamboo-Tests gleichzeitig auszuführen?
- 26. Platzieren eines NSTimer in einem separaten Thread
- 27. OutOfMemoryError in einem separaten Java-Thread
- 28. Gibt es eine bessere Möglichkeit, diese Abfrage auszuführen?
- 29. Gibt es eine Möglichkeit, benutzerdefinierte Datentypen in MySQL zu bewirken?
- 30. Gibt es eine Möglichkeit, zwei jQuery-Animationen gleichzeitig (richtig) auszuführen?
Unterschiedlicher Thread in Ihrer PHP-Anwendung? Oder ein anderer MySQL-Thread? – Orbling
Kann in keiner Sache sein. Ich kann den Trigger als gespeicherte Prozedur in einem anderen PHP-Thread ausführen oder in einem separaten Thread in MySQL ausführen. Aber ich ziehe es vor, in einem separaten Thread in MySQL – tamilnad