Ben bir değerler değişken miktarda bir dizi var.
Bunun içinde bir sorgu ile bir döngü dışında benim DB içine eklemek için daha verimli ya da daha iyi bir yolu var mı?
this site, bir multi-insert sorgusu ile MySQL güzel bir örneği var de. Bu is geçerli SQL için
INSERT INTO [table]
VALUES
(row1),
(row2),
...
İstek üzerine: bir php pasajı:
$query="INSERT INTO mytable\nVALUES\n (".$values[0].")";
array_shift( $values );
foreach( $values as $value ) {
$query .= ",(".$value.")";
}
Benim durumumda çok satır ekler bir seferde veri büyük miktarda ekleyerek eğer, o gitmek için iyi bir yol, tek bir satır ekler bir eşdeğer sayısından daha MUCH daha hızlı işlenir. Ben veri satırları binlerce girme süreci bu yöntemi kullanarak tam anlamıyla saniye için 5-10 dakika aşağı yoğunlaşabilir izledim.
Bildiğim kadarıyla kod parçası olarak, I () alanları dizileri katılmak & çöktüğünü kullanarak bir hayranı oldum Birlikte değerleri. Veri satırları için aynı şeyi olamaz hiçbir neden, sadece, vb kaçtı, alanlar kote edilmesi gereken hangi belirlemek gerekiyor
Argüman $ satır varsayalım uğruna düzgün biçimlendirilmiş SQL değerler bir dizi ...
$sql = "INSERT INTO `table` VALUES (" . implode("), (", $rows) . ")";
Eğer arzu gereken tek alanları birleştirmek için benzer bir şey geçerli olabilir.