PHP veri arama yapmak için hızlı yolu

3 Cevap php

Ben yaklaşık 25 megabayt büyük 600,000 kayıtları ile bir veri tablosu var. Bu 4 byte anahtar tarafından endeksli.

MySQL başvurmadan hızlı PHP ile böyle kümesi içinde bir satır bulmak için bir yolu var mı?

Söz konusu web sitesi küçük bir PHP kodu ve hiçbir veritabanı bağımlılıkları ile çoğunlukla statik ve bu nedenle hızlı. Ben mümkünse MySQL kullanmak zorunda kalmadan bu verileri eklemek istiyorum.

C + + I bellek dosyasını eşlersiniz ve bunu bir ikili arama yapın. PHP benzer bir şey yapmak için bir yolu var mı?

3 Cevap

PHP (en az 5.3) zaten mevcut olmadığını mmap'e kullanmak için optimize edilmeli ve büyük olasılıkla avantajlıdır. Bu nedenle, size C + + ile kullanmak olacağını söylemek aynı stratejiyi kullanabilirsiniz:

EDIT: Aslında, sadece file_get_contents gibi diğer bazı durumlarda mmap'e kullanmak gibi görünüyor. Bu önemli değil, ama aynı zamanda file_get_contents deneyebilirsiniz.

Ben memcachedb veya benzer bir şey öneririm. PHP tamamen bu işlemek için gidiyoruz eğer komut her istek için tüm dosya / datastruct okumak zorunda olacak. Bu dinamik makul bir süre içinde bunu yapmak mümkün değil.

C + +, bir kullanıcı bu nedenle yükleme ve boşaltma dosyayı, farklı bir şekilde dosyayı görüntülemek istedim her zaman durdurmak ve uygulamayı başlatmak istiyorsunuz? Muhtemelen, ama bu php bir uygulama daha farklı ve uygulama programlama dilleri nasıl değildir.

PHP çevre teardown / birikimi ile başa yardımcı olmak için araçlara sahiptir. Bu araçlar veritabanı ve / veya memcache gibi anahtarlı önbelleğe yarar vardır. Doğru iş için doğru aracını kullanın.