gpt4 book ai didi

mysql 巨大的操作

转载 作者:行者123 更新时间:2023-11-29 00:33:35 25 4
gpt4 key购买 nike

我目前正在将一个巨大的 CSV 文件从我的 iPhone 导入到 Rails 服务器。在这种情况下,服务器将解析数据,然后开始将数据行插入数据库。 CSV 文件相当大,操作结束需要很长时间。

由于我是异步执行此操作,因此我的 iPhone 可以转到其他 View 并执行其他操作。

但是,当它请求另一个表中的另一个查询时。这将挂起,因为第一个操作仍在尝试将 CSV 的信息插入数据库。

有没有办法解决这类问题?

最佳答案

只要手机不关心数据库插入何时完成,您可能想尝试将 CSV 文件存储在服务器上的 tmp 目录中,然后使用脚本从该文件写入数据库。或者干脆将其存储在内存中。这样,一旦手机发布了 CSV 文件,它就可以继续处理其他事情,而脚本会异步处理数据库插入。是的,@Barmar 关于使用 InnoDB 引擎而不是 MyISAM(在某些配置中可能是默认的)是正确的。

或者,您可能需要考虑启用“低优先级更新”,这将延迟写调用,直到所有挂起的读调用完成。参见 this article关于 MySQL 表锁定。 (我不确定你说的到底是什么挂了:更新,或者在执行更新时读取......)

无论如何,如果您从手机异步发布数据(即,不是从 UI 线程),只要您尝试使用的并发 HTTP 数量不超过最大数量,这应该不是问题连接。

关于mysql 巨大的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15399108/

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