2016-05-30 63 views

回答

0

我不知道我是否瞭解具體的問題很好,但總的來說我會做下列方式:

  • 我將定義一個設置爲最大行數要插入
  • 我會定義一個設置,以便在插入預定行之前允許通過的最大時間
  • 我想要插入一個具有記錄參數隊列的線程
  • 無論何時需要插入新行我會將它添加到隊列
  • 每當一行被添加到隊列中,如果行數達到最大行數,我會發出批量插入並清除隊列當隊列被初始化/清除時我會設置計時器爲0
  • 當經過的時間達到在設定定義的最大時間,我想執行大容量插入和將清除隊列
+0

你的方法本質上是用於順序批量插入件(一個接一個)。我的問題是來自應用程序不同部分的多個批量插入(不同螺栓 - 風暴方式)。如果每個批量插入處理至少15K記錄的30個批量插入操作是多麼昂貴? –

+0

@KavithaMadhavaraj,我的建議是使用一個單獨的線程來批量插入,所以你可以一次運行一個。你也可以異步運行它。關於您評論中的問題,實際上取決於您當前的情況。您如何收集數據,目標表有多少列,平均運行多少個選擇查詢以及它們的複雜程度如何。您還需要避免淹沒服務器,最好等待一段時間而不是崩潰服務器... –

+0

一次執行一個批量插入操作?這就說得通了。 –