我可以实现我想做的事情,只是太慢了,我很确定有更好的方法。以下是摘要:
我有两个从两个文本文件导入的表(通过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_id
从 people
把table放进 events
table。
我试过几种方法,基本上是循环遍历 events
表查找 person_id
在 people
使用 person_name
以及 mother_name
在 events
table。然后插入 person_id
进入 events
table。
我当前的查询大约需要5天来更新数据库中的所有150万行 events
table。我怎样才能让这更快?
我使用的是laravel和php,但欢迎任何建议。
暂无答案!
目前还没有任何答案,快来回答吧!