2011-02-16 61 views
0

我正在使用VCL TCPServer組件,每次在TCP端口上接收到的數據是 時都會觸發事件。在事件數據可用的文本 參數的過程。因爲我想將這些數據保存到mysql數據庫中,所以我想知道哪個是最好的解決方法。 直接在過程中爲每個接收的數據使用INSERT SQL命令 或將數據存儲在內存中(即TStrings),然後每隔X(使用Timer)分鐘調用 函數執行INSERT命令?當執行sql插入?

謝謝

好的抱歉。

+0

您需要插入的事件數量是多少?平均和高峯時間? – Freddie 2011-02-16 10:52:02

回答

1

這不是您的問題的答案,但請考慮在接收數據和執行INSERT之間您的應用程序失敗(出於任何原因)的風險。

如果您使用某種本地商店作爲緩解風險的中間商,請考慮該商店正在更新時發生崩潰的風險。

RDBMS供應商竭盡全力確保成功完成INSERT,UPDATE或類似命令所接受的數據不會丟失或損壞。你能否做出類似的努力?一般來說,如果您接受零散數據而不是批量數據,我可能會保持與數據庫的開放連接,並在您收到數據時插入數據,並且一旦發送確認迴應用程序已被推送到數據庫。

+0

嗨邁克爾。謝謝你的回覆。 – marcostT 2011-02-20 12:09:21