php—加快从一个大型mysql表向另一个表插入ID的速度

qmb5sa22  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(207)

我可以实现我想做的事情,只是太慢了,我很确定有更好的方法。以下是摘要:
我有两个从两个文本文件导入的表(通过load data infle)。这些表之间还没有主键和外键关系。
表1-事件:150万行( person_id 值为空)

+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| event_id     | int(11)      | NO   | PRI | NULL    | auto_increment |
| person_id    | int(11)      | NO   | UNI | NULL    |                |
| event_details| longtext     | NO   |     | NULL    |                | 
| person_name  | varchar(30)  | NO   |     | NULL    |                |
| mother_name  | varchar(30)  | NO   |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+

表2-人:140000行

+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| person_id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| person_name  | varchar(30)  | NO   |     | NULL    |                |
| mother_name  | varchar(30)  | NO   |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+

我正在试着插入 person_idpeople 把table放进 events table。
我试过几种方法,基本上是循环遍历 events 表查找 person_idpeople 使用 person_name 以及 mother_nameevents table。然后插入 person_id 进入 events table。
我当前的查询大约需要5天来更新数据库中的所有150万行 events table。我怎样才能让这更快?
我使用的是laravel和php,但欢迎任何建议。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题