Bu bir (PEAR :: MDB2 kullanarak) PHP (1.900 saniye zaman sınırı ve daha 1GB bellek sınırı) ve MySQL kullanarak ...
Ben bir mysql veritabanında beslemeleri siteden veri yüklemek bir arama motoru oluşturmak için çalışıyorum. Bazı siteler onlara birçok bilgiye sahip oldukça büyük beslemeleri varsa (örneğin tek bir dosyada birden fazla 80.000 kayıtları). Kayıtların her biri için kontrol bazı veriler öncesinde veritabanı (aynı zamanda eklemek veya bir mysql tablosunu güncelleştirmek olabilir veri denetimi) de kayıt ekleme yapılır.
Benim sorunum sizin gibi birçok zaten anlaşılmış olabilir ... zaman! Yem her kayıt için 20'den fazla kontrol ve örneğin bir besleme vardır: 10.000 kayıtları> veritabanına 50.000 ekler olabilir.
Ben 2 yolları ile bu yapmaya çalıştım:
- Beslemesi okumak ve bir dizi veri depolamak ve daha sonra dizi döngü ve veri denetimi ve ekler yapmak. (Bu, tüm hızlı olmaktadır)
- Beslemesi okumak ve çizgi ile veri kontrol hattını yapmak ve takın.
Veritabanı sürekli sorgulanan her alanda dizinleri kullanır. PHP kodu hiçbir ekstra değişkenleri ile tweaked ve SQL sorguları basit select, update ve insert ifadelerdir edilir.
Saatin ayarlanması yüksek sınırlayan ve hafıza bir sorundur ne. Sorun, bu işlemi daha hızlı olmasını istiyor.
So my question is: How can i make the process of importing the feed's data faster? Are there any other tips that I might not be aware of?