从不同的数据库删除查询(删除有关ID的所有信息)的速度很慢

时间:2018-06-26 08:50:20

标签: php mysql

需要你们的帮助。我正在使用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个数据库的所有表中写入所有删除查询。

例如:(例如,出现以下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 个答案:

答案 0 :(得分:1)

检查user_id上是否存在外键