gpt4 book ai didi

php - 如何避免数据库在 oracle 中挂起?

转载 作者:可可西里 更新时间:2023-10-31 22:53:04 24 4
gpt4 key购买 nike

我有一个连接到只有两个表的数据库的 php 应用程序:usersfolders。当您登录应用程序并按下按钮时,大量记录将插入到 folders 表中。该过程大约需要 15 分钟才能完成。在这个时候,所有的应用程序都卡住了。在我的应用程序标题中,我有类似

的内容
select * from users where id = {$_SESSION['user_id']}

但是直到那数万条记录被插入到 folders 表中,第二个查询才会被执行。在我等待 15 分钟并完成导入后,我可以访问任何我想要的页面。我该如何解决这个问题?

我最初忘记提及的一个非常重要的事情(对此我深表歉意)是 Oracle 数据库。我早些时候对 MySql 进行了测试(只是出于好奇),它没有问题,但对于 oracle,它似乎有这个问题。使用 OCI8 建立连接。

最佳答案

15 分钟的填充应该发生在后台任务中,然后查看用户是否存在就很简单了。如果不向用户显示某种消息。

例如 githubs 的 fork 功能,您会看到正在扫描一本书,直到后台任务完成。

这可以通过具有用户 ID 和已处理列的第三个表来完成。后台任务正在寻找 processed = 0 并进行处理。

用户正在寻找 processed = 1 继续,如果 processed = 0 显示友好页面。

当后台处理完成后,更新数据库中的标志

关于php - 如何避免数据库在 oracle 中挂起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32925093/

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