[]

MYSQL - Mongodb -PHP

Daha önce de sormuştum: 100.000 civarı ürünümüz var. Klasik bir e-ticaret sitesi gibi düşüneceğiz (daha doğrusu ürün tanıtımı diyelim. kredi kartlı satış yok çünkü). Acaba mongodb mi daha hızlı sonuç verir mysql mi diye.

ben de mysql'de pek hız kaybım olmaz diyordum da.

çeşitli sayfalarda karşılaştırma yaptım, mongodb'li sayfam çok daha hızlı çalışıyor gibi.

tam bir zaman çizelgesi çıkarmadım ama örneğin:

- barkod ile ürün girişi yapıyoruz. bu barkod kayıtlıysa, veritabanından kontrol edip aşağıda hemen ürünün adını, fiyatını, markasını falan yazıyor.

işte bu işlemde, mongodb çoook daha hızlı geldi bana. salise bile diyemeyeceğim hızda ürünü bastırıyor, mysql'de ise daha uzun sürüyor işlem.

acaba, dedim. ben mi yanlış kodla pişiriyorum bu işi? o yüzden burada sorayım dedim.

Şimdi eşleştirmeyi şu şekilde yapıyorum:

$a = $_POST["barkod"];
$e = mysql_fetch_array(mysql_query("select * from urunler where barkod='".$a."'"));
extract($e);

echo $urunadi;

(şuan elle yazdım sistemsel bir hatası falan varsa okadar önemsemeyin yani)

bu şekilde eşleştirme yapıyorum.
acaba bu doğru bir iş değil mi? bu yüzden mi gözle görülür bir hız farkı yaratıyorum mongodb ile arasında? yoksa "aynen bu şekilde yapman lazım. en optimize hali budur" mu diyorsunuz?

select * dedim, çünkü oradaki tüm değişkenleri kullanıyorum. yani tek tek "select urun, fiyat, iskonto" gibi yazmama gerek yok.

dediğim gibi, yanlış mı kodluyorum?
mysql ile php bağlantısını daha hızlı yapacağım bir kodlama falan var mıdır? Eğer en hızlı yöntem bu derseniz mongodb'ye geçeyim. birkaç mili saniye birkaç mili saniyedir.

 
tamamdır, problemim indexlemede sanırım. mysql indexlemeyi öğreneyim. bayramda buna vakit ayırayım en iyisi.


  • kamera motor  (14.10.13 11:16:59) 
muhtemelen mysql index'leriniz yanlış. ayrıca "select *" kullanmayın, ihtiyacınız olan kolonları (hepsi bile olsa) tek tek yazın.

bu arada extract de kullanmayın. mysql_fetch_assoc yapıp $e['kolon'] diye erişin.
  • 386 dx  (14.10.13 15:59:59) 
extract, pratik oluyor diye yapıyordum da yavaşlığa sebep oluyorsa onu da kullanmayayım.


  • kamera motor  (14.10.13 18:23:15) 
yavaşlık değil de güvenlik açısından.


  • 386 dx  (16.10.13 15:20:14) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.