PHP json_解码大(O)和优化

PHP json_解码大(O)和优化,php,mysql,json,Php,Mysql,Json,我正在尝试编写php代码,它使用NSR字典数组并将记录添加到数据库中。不幸的是,处理大约500条总大小约为2mb的记录大约需要20秒 function uploadTracks($tracks, $partyID, $pName) { $tracks = json_decode($tracks, true); $itemInfo = array(); foreach($tracks as $itemInfo){ $track = $itemInfo['songTitle'];

我正在尝试编写php代码,它使用NSR字典数组并将记录添加到数据库中。不幸的是,处理大约500条总大小约为2mb的记录大约需要20秒

function uploadTracks($tracks, $partyID, $pName) {
$tracks = json_decode($tracks, true);

$itemInfo = array();

foreach($tracks as $itemInfo){
    $track = $itemInfo['songTitle'];
    $artist = $itemInfo['artistName'];
    $album = $itemInfo['albumName'];
    $artwork = $itemInfo['artwork'];
    $result = query("INSERT INTO partyRecords(Pkey,songName,songArtist,imageBinary,partyName) VALUES ('%s','%s','%s','%s','%s')" ,$partyID,$track,$artist,$artwork,$pName);
}


}

是否仍有优化上述代码的方法?json_解码可能是最耗时的吗?

我想说95%是查询。您需要编译查询并一次插入100个左右。最好自己转义查询变量(mysql:mysql\u real\u escape\u string())


您可以在单个插入查询中插入多条记录。在这种情况下,db索引将更新一次,从而提高性能:

INSERT INTO partyRecords
  (Pkey, songName, songArtist, imageBinary, partyName)
VALUES
  (1, 'Name 1', 'Artist 1', 'Image 1', 'Party 1'),
  (2, 'Name 2', 'Artist 2', 'Image 2', 'Party 2'),
  (3, 'Name 3', 'Artist 3', 'Image 3', 'Party 3'),
  (4, 'Name 4', 'Artist 4', 'Image 4', 'Party 4');

JSON编码后返回/死亡。。。您的预算花费了多少时间?您是否建议在每次迭代中使用字符串并简单地附加附加值?是的,不要忘记转义您的数据,因为它可以从客户端传递。
INSERT INTO partyRecords
  (Pkey, songName, songArtist, imageBinary, partyName)
VALUES
  (1, 'Name 1', 'Artist 1', 'Image 1', 'Party 1'),
  (2, 'Name 2', 'Artist 2', 'Image 2', 'Party 2'),
  (3, 'Name 3', 'Artist 3', 'Image 3', 'Party 3'),
  (4, 'Name 4', 'Artist 4', 'Image 4', 'Party 4');