现在我试图优化一些代码..
将大数据插入表的更好方法是什么?
考虑此代码正在运行。
$arrayOfdata = execute query (SELECT c.id FROM table1 )
从 table1 中获取所有数据,将其存储到数组中并将其插入到表中。
private function insertSomeData($arrayOfdata, $other_id){
foreach($arrayOfdata as $data){
INSERT INTO table (
other_id,
other2_id,
is_transfered
) VALUES ('.$other_id.', '.$data['id'].', 0)'
}
}
我知道表 1 中是否有 500k 的数据,此代码非常慢。所以我尝试了这样的事情..我把所有的东西都放在一个 sql 查询中
INSERT INTO
table (
other_id,
other2_id,
is_transfered
)
SELECT
"other_id", c.id, 0
FROM table1
我读到要插入的大量数据会导致 mysql 变慢或超时。我在本地计算机上的 500k 数据上尝试了此代码,它运行良好..
如果插入大数据,有什么方法会导致问题?其他更快插入不会导致服务器使用太多资源的方法?