[]
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.
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.
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