SORU
23 NİSAN 2009, PERŞEMBE


mysql içine php bir dizi ile birden fazla Satır Ekle

Ben geçen büyük bir veri kümesi içine bir mysql tablo ile php kullanarak ınsert komutları ve merak ediyorum eğer onun Olası eklemek için yaklaşık 1000 satır hiç bir zaman üzerinden bir sorgu dışında ekleme her değer üzerinde bir mil uzunluğunda bir dize ve sonra yürütme. Fonksiyonları da mevcut yani codeıgniter çerçeve kullanıyorum.

CEVAP
23 NİSAN 2009, PERŞEMBE


Birden fazla satır ile bir INSERT açıklama montaj çok daha hızlı bir satır başına INSERT deyim daha MySQL.

Bu, string işleme algoritması bir sorun, bir dil değil, PHP sorunları, içine çalışıyor olabilir gibi geliyor " dedi. Büyük dizeleri ile çalışırken temel olarak, gereksiz kopyalama en aza indirmek istiyor. Öncelikle, bu birleştirme önlemek için istediğiniz anlamına gelir. En hızlı ve en etkin bellek büyük bir dize oluşturmak için, bir satır yüzlerce ekleme gibi implode() fonksiyon ve dizi atama yararlanmak için.

$sql = array(); 
foreach( $data as $row ) {
    $sql[] = '("'.mysql_real_escape_string($row['text']).'", '.$row['category_id'].')';
}
mysql_query('INSERT INTO table (text, category) VALUES '.implode(',', $sql));

Bu yaklaşımın avantajı kopya olmadığını ve yeniden kopyalayın şimdiye kadar her birleştirme ile bir araya topladığın SQL deyimi; bunun yerine, PHP yaparbir kezimplode() deyim. Bu birbüyükkazanmak.

Eğer çok sütun için bir araya koymak, ve daha çok uzun, sana da inşa bir iç döngü için aynı şeyi ve kullanmak implode() ata değerleri maddesi dış dizi.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CorridorDigital

    CorridorDigi

    17 Mayıs 2010
  • EEVblog2

    EEVblog2

    2 HAZİRAN 2014
  • EvilControllers

    EvilControll

    20 Ocak 2008