gpt4 book ai didi

Java 和 MySQL PreparedStatement : storing 5000 numbers in a table. 什么是正确的方法?

转载 作者:行者123 更新时间:2023-11-29 07:12:50 24 4
gpt4 key购买 nike

我正在使用 Java-facebook-api 编写一个 facebook 应用程序和 MySQL 5.1。

我正在尝试找到一种更快的方法来存储登录到我的应用程序的用户的好友列表。

当用户登录到我的应用程序时,会发生以下情况:

  1. 删除登录用户的旧好友列表
  2. 将用户好友列表收集到一个 ArrayList 中
  3. 在 Java 中,我为数组列表中的每个数字执行一个 for 循环,然后执行插入以将新 friend ID 插入到 friend 表中。

有没有办法让这一切场景变得更快?

例如,我考虑创建一个存储过程来接收当前用户的 uid 和 friend 的 uid 数组,但我阅读并了解到 MySQL 5.1 中的存储过程无法接收数组。

好友列表非常简单:

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

如有任何帮助,我们将不胜感激。

谢谢!

最佳答案

您可以使用 JDBC 批量更新:

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

关于Java 和 MySQL PreparedStatement : storing 5000 numbers in a table. 什么是正确的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3440580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com