需要你们的帮助。我正在使用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);
但似乎删除这些查询的时间太长了。为了让查询运行得更快,我有什么需要注意的吗?
谢谢您
1条答案
按热度按时间nuypyhwy1#
检查用户id上是否存在外键