需要你们的帮助。我正在使用MSQL。我的应用程序将用户信息包含在包含多个表的多个数据库中。我需要从连接到不同数据库的所有表中删除ID的用户信息。
我通过同时连接到所有数据库(写在文件顶部)在一个文件中编写了多个删除查询。我需要删除与用户相关的4000条记录。但是到目前为止,(从昨天晚上开始运行脚本)已删除了150条记录。
我的要求是删除所有属于同一组的用户。所以我要做的是:
检查该组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个数据库的所有表中写入所有删除查询。
例如:(例如,出现以下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);
但是似乎查询删除的时间太长。 我需要注意什么才能使查询运行得更快吗?
谢谢
答案 0 :(得分:1)
检查user_id上是否存在外键