0

NSDictionaries の NSArray を取り、レコードをデータベースに追加する PHP コードを作成しようとしています。残念ながら、合計サイズが約 2 MB の約 500 レコードを処理するのに約 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_decode に最も時間がかかっている可能性はありますか?

4

2 に答える 2

1

1 つの挿入クエリに複数のレコードを挿入できます。この場合、データベース インデックスは 1 回更新され、パフォーマンスが向上します。

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');
于 2013-05-24T05:38:48.790 に答える