• 02-02-2010, 20:07:52
    #1
    Üyeliği durduruldu
    Array ( 
    [0] => SELECT * FROM session WHERE session_id = 'fcd223df75dab13b7588ae48a5ea999103e45818' 
    [1] => UPDATE session SET session_id = 'fcd223df75dab13b7588ae48a5ea999103e45818',session_user_id = '0',session_time = 1265133066,session_array = 'a:1:{s:2:\"ip\";s:13:\"78.161.118.54\";}',session_ip = 78.161.118.54,session_page = 'news',session_status = 1 WHERE session_id = 'fcd223df75dab13b7588ae48a5ea999103e45818' 
    [2] => UPDATE session SET session_status = '0' WHERE session_time < 1265133056 
    [3] => DELETE FROM session WHERE session_time < 1265133016 
    [4] => SELECT config_title, config_url FROM config 
    [5] => SELECT news.*, news_category.* FROM news, news_category WHERE news.news_seo = 'obama-youtube-da' AND news_category.news_category_id = news.news_category_id 
    [6] => SELECT * FROM news_comments WHERE news_id = '166223' 
    [7] => SELECT * FROM news WHERE news_category_id = 5 AND news_id != 166223 ORDER BY news_time DESC LIMIT 0,19 )
    Şimdi arkadaşlar 160 bin haber bulunan bir veri tabanında haberi görüntülemek için kullanılan sorgular bunlar. Bu sorgularda sayfa yüklenme süresi 5 sn buluyor.

    Yukarıdaki sorgularda yanlış yaptığım bir şey var mı arkadaşlar.

    Şunu yaparsanız daha hızlı yüklenme alırsınız diye önerisi olan arkadaşlarım yardımcı olsunlar lütfen.
  • 02-02-2010, 20:17:30
    #2
    SELECT * FROM
    yerine

    SELECT baslik,tarih FROM
    gibi sadece kullanacağınız kolonları yazmanı daha iyi olur.
  • 02-02-2010, 20:23:27
    #3
    Üyeliği durduruldu
    Teşekkür ederim ilgin için kardeş. Fakat pek bir değişiklik olmadı.
  • 02-02-2010, 22:55:40
    #4
    Üyeliği durduruldu
    7 ve 5 numaralı sorguları sayfadan çıkarıp denedikten sonra hız farkını söylerseniz yardımcı olabilirm
  • 02-02-2010, 23:56:17
    #5
    Üyeliği durduruldu
    5 ve 7 numaralı sorgular zaten haberi bize yazdıran kısım. onları kaldırdığımda aradığınız sayfa bulunamadı hatası veriyor. Yani diğer sorgular devre dışı kalıyor. otomatikman.
  • 03-02-2010, 00:08:48
    #6
    Üyeliği durduruldu
    kasan sorguyu bulmaya çalışacaktım ama en cok kasan 7 dir ..

    SELECT * FROM news WHERE news_category_id = 5 AND news_id != 166223 ORDER BY news_time DESC LIMIT 0,19 )
    news_time alanı indexlenmiş mi indexlenmişse descending index mi bunu kontrol edebilir misiniz ?

    [2] => UPDATE session SET session_status = '0' WHERE session_time < 1265133056
    [3] => DELETE FROM session WHERE session_time < 1265133016

    ayrıca burda 2 numaralı sorgu gereksiz olmuş gibi. aralarında 40 saniye farkla once 0 olarak değiştirip sonra siliyor.

    bu dediklerimi yapıp hızı kontrol edebilir miyiz ?
  • 03-02-2010, 00:12:00
    #7
    Üyeliği durduruldu
    tek tek sorgulari iptal ederek bakmak lazim özellikle haber tablosunda join kasiyordur 5. sorgu yani. birde anasayfada bunu order by falan yapiyorsunuzdur
  • 03-02-2010, 00:21:51
    #8
    Üyeliği durduruldu
    news_time indexlemesi ile alakalı anlamadım kardeş ne dediğiniz. Fakat 2 ve 3. sorgu ile pek bir fark oluşmuyor.

    Fakat şöyle birşey var siteye anlık 20 kişi girdiği zaman haber detayları 5 sn de geliyor. fakat mesela şu anda 2-3 kişi var sitede 0,016 sn sürüyor.

    Gündüz 20 ziyaretçi var iken yazarların yazı detayına baktıgımda oralar hızlı açılıyordu aynı mantık oradada var. Fakat yazarlar tablosu daha ufak boyutta 300 yazı var haber tablosu daha büyük 166 bin haber var.

    Asıl öğrenmek istediğim bu sorguları değiştire bilir miyiz yada buraya bir cache mantığı getirile bilirmi..? Biraz mantık edine bilirsem yazılımı ayarlaya bilirim.
  • 03-02-2010, 00:25:19
    #9
    5. sorgudaki seo alanının araması büyük ihtimalle indekslenmemiş bir alandan yapılıyor. Doğru bir yöntem değil. Sayfayı cachelemek sitenizi hızlandırır. Nasıl cachelenebileceği kullandığınız yazılıma göre değişir kodlaması, genel bir cevap vermek mümkün değil.