• 07-12-2007, 11:27:16
    #1
    Bir php sayfamda içinde select sorgusu olan ve her biri sadece bir tane kayıt döndüren 35 tane değişkene mysql_query ile sonuç aktarıp ekrana bunları yazdırıyorum .. 35 sorgu sayısı bir sayfa için çok mu ? Daha kısa yolları mı düşünmeliyim ? .. Bu sayfa günde en fazla 50 kişi tarafından görüntülenecek bir sayfa ..

    +

    mysql_query sonuçlarını atadığım değişkenlerin hepsini, sayfa sonunda mysql_free_result ile boşaltmak zorunda mıyım ? .. Yapmazsam ne gibi bir zararı olur ? ..
  • 10-12-2007, 13:37:50
    #2
    kodlar olsa daha sağlıklı bir yorum yapılır ama 35 tane sorgu sanırım kategorideki verilerin kaç tane olduğunu öğrenmek için kullanıyosun.. eğer kategorilerdeki kayıtlar için böyle bir yol izliyosan LEFT JOIN kullanmanı tavsiye ederim.. tek sorgu ve GROUP BY şeklinde halledersin..

    ama dediğim gibi ne yapmak istiyosun nasıl tablo yapın var birşey yazmamışsın..
  • 10-12-2007, 17:07:50
    #3
    Sorgu sonuçlarını değişkene atamadan, döngü içinde de yazdırabilirim ama sonuç olarak onda da 35 select sorgusu çalışmış olacak .. Bir kaç arkadaş sordum, 35 sorgu çok değil, mySQL için basit bir işlem dediler ..
  • 10-12-2007, 17:48:29
    #4
    35 Sorgu Normaldir Bir sayfada..Benim sitemde 80 sorgu var günde 20 bin kişi giriyor birşey yok mysql da yorulmuyor.Eger hit alan bir sitende pconnect yap
  • 10-12-2007, 17:51:33
    #5
    Üyeliği durduruldu
    Ben tek sayfada 4+ sorguyu bile çok buluyorum siz 35 diyorsunuz ilginç . Elinden geldiğince azalt join işlemleri kullanmaya çalış.
  • 10-12-2007, 17:54:55
    #6
    Sorguların içinde inner join de var.

    mysql_query("select b.isim_soyisim from calisma_saatleri a inner join gorevliler b on a.id=b.id where Pazartesi like '%14%'",$db);
    gibi ..
  • 10-12-2007, 17:57:51
    #7
    Garez.Org | Türkiyenin En Büyük Arşiv Sitesi - Ödev,Ödevler,Dini Bilgiler,Şarkı Sözleri,Tarihi Bilgiler, Video Klipler, Şiirler, Şiir Sözleri, Felsefe, Biyografiler, Türkü Sözleri, Yemek Tarifi, Güzel Sözler, Rüya Tabiri, Sağlık Bilgileri, Yararlı Bi
    SQL sorgusu: 88 - Ortalama SQL zamanı: 0.16816 sn.
    Bu Seditio Portal Ve cachesi olmayan bir portal.Dünyada çok tutulan bir portal.bu adamlar işi Bilmiyormuda 88 Sorgu Kullanıyor @Lisans
    Official Sitesi: Neocrome - Website engines

  • 10-12-2007, 17:59:11
    #8
    Üyeliği durduruldu
    Bu konuda Linux- Yazilim : Linux' uzerinde yazilim gelistirme Haberlesme Listesi: [linux-programlama] Re: mysql_free_result fonksiyonu adresinde bir ayrıntı var.

    linke tıklamayacam diyorsanız özetle : mevcut sorguların php.net dokümantasyonuna göre free olarak yapılmaktadır. diyor.

    Asıl Problem bizce şu olmalı :

    Unset(); ile kapatılacak degişkenlerin önemi ve sayfa sonunda mysql_close kullanımı...

    WHERE ve ORDER tanımının içini doldurmamak da başka bir problem.

    bunun bi örneğini ben title oluşturmak ve sayfanın hitini saymak sırasında yaşadım.

    Problemi 2 şekilde çözüyorsunuz.

    1- degişkenin adını değiştirmek
    2-unset ile değişkenin işi bittiğinde kapatmak.
  • 10-12-2007, 18:28:00
    #9
    Üyeliği durduruldu
    o zaman şunuda koyalım @WebLOADER
    Alıntı
    Sayfa açılma süresi 10.895 sn. SQL toplam zamanı: 10.821 sn. - SQL sorgusu: 78 - Ortalama SQL zamanı: 0.13873 sn.
    Ayrıca SQL sorgusu tutarsız bazen 50'de yazıyor.

    her saniyenin önemi vardır. Ziyaretçi sabırsızdır.
    unset ram yer onun yerine değişken ile işiniz bittiyse alt tarafta yine aynı değişkeni kullanın(sayfalar yukardan aşağı doğru derlendiğini bilerek) değişken string ise $degisken = ''; numeric ise $degisken = 0; şeklinde yine ram'deki yerini sıfırlayabilirsiniz.
    Sorgularda tek veri alacaksanız yada like kullanacaksanız limit'de önemli.