从不同的数据库中删除查询(删除关于一个id的所有信息)很慢

93ze6v8z  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(243)

需要你们的帮助。我正在使用msql。我的应用程序在包含如此多表的多个数据库中包含用户信息。我需要从连接到不同数据库的所有表中删除id的用户信息。
通过同时连接到所有数据库(写在文件顶部),我在一个文件中编写了多个删除查询。我需要删除4000条与用户相关的记录。但到目前为止,只有150条记录被删除(从昨天晚上的脚本运行开始)。
我的要求是删除一个组下的所有用户。所以我所做的是:
获取组id
检查此组id是否存在,然后检索此组下的所有用户。

$sql = "select distinct user_id, fname, sname, email from ps.user_group_link where group_id in (SELECT group_id from ps.groups_main where tree_path like '".$path."%')";

现在我连接到3数据库

$dbt = db_connect('dB1','w');
    $dbm = db_connect('dB2','w');
    $dbmp = db_connect('dB3','w');

然后在 foreach 循环我正在从3数据库的所有表中编写所有delete查询。
例如:(如以下20-30条删除语句)

$delete_classroom_records_sql = "DELETE FROM `table1`.classroom_records WHERE user_id=". $user;

$delete_classroom_records_res = $dbt->query($delete_classroom_records_sql);

但似乎删除这些查询的时间太长了。为了让查询运行得更快,我有什么需要注意的吗?
谢谢您

相关问题