2010-08-09 48 views
1

我正在使用Java-Facebook-api 和MySQL 5.1編寫一個facebook應用程序。Java和MySQL PreparedStatement:在表中存儲5000個數字。什麼是正確的方式?

我試圖找到一種更快的方式來存儲登錄到我的應用程序的用戶的朋友列表。

當用戶登錄到我的應用程序會發生以下情況:

  1. 刪除登錄的用戶
  2. 收集用戶朋友們的老朋友名單列出到一個ArrayList
  3. 在Java I」 m爲數組列表中的每個數字執行for循環,然後執行插入以將新的好友ID插入到好友表中。

有沒有辦法讓這種情況更快?

例如我想過創建一個存儲過程,它接收當前用戶的uid和一個uid的朋友的數組,但我閱讀並理解MySQL 5.1中的存儲過程無法接收數組。

朋友列表表很簡單:

id int(10) <- primary key 
user_friends_uid bigint 
timestamp TIMESTAMP 

任何幫助,將不勝感激。

謝謝!

回答

2

您可以使用JDBC批處理更新:

PreparedStatement stmt = getSql().prepareStatement(...); 
    try { 
     for (Row row: rows) { 
      stmt.setLong(1, row.id); 
      ... 
      stmt.addBatch(); 
     } 
     stmt.executeBatch(); 
    } finally { 
     stmt.close(); 
    } 
相關問題