Ben indexlediğimizi düşünmüştüm.

Bilgilendirdiğiniz için teşekkür ederim.


--- 15/10/09 Per tarihinde Nuri Akman <nuri.ak...@hazine.gov.tr> şöyle yazıyor:

Kimden: Nuri Akman <nuri.ak...@hazine.gov.tr>
Konu: [Linux-programlama] Re: Yan:  Re: !!! Yan:  Re: Online offline olayını 
nasıl tutuyorsunuz ?
Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme" 
<linux-programlama@liste.linux.org.tr>
Tarihi: 15 Ekim 2009 Perşembe, 14:03




  
  
Bu işlemin 1 saniyede yapılması, sinin WHERE şartında belirttiğiniz
alanların indexlenmesine bağlıdır.



Diğer taraftan, DURUM = ONLİNE gibi bir güncelleme yapıyorsanız ve
DURUM alanına da index vermişseniz, update sırasında hem DURUM alanı
hem de bu alanın INDEX'i güncelleneceği için işlem süresi 2 katına
çıkar.



Özetleyecek olursak : Kayıtlara erişim ve update konusunda INDEX
mevzusunu gözardı ederseniz süreler uzadığı için bekleme konusu gündeme
gelir.



Selamlar...



Guychmyrat Amanmyradov yazmış:

  
    
      
        

        Eğer güncellenemeya çalışılan
değer değişmiyorsa SQL Updata işlemini
zaten yapmaz. (effectedrow = 0 olur yani)

        

Yani 1. tabloda 1 mln kayıt var ve toplam 500 kişi online. 2. tablomda
da 10.000 kişi var. ve burada da 500 kişi online. her iki tabloda da
offline olucak kişi (effectedrow) 100 kişi ise. Her iki tabloda aynı
sürede mi işlem olucak ? Yani her ikiside mesela 1 saniye de mi yapacak
işlemi ? Çünkü etkilenecek row sayısı 100.

        

        

        

--- 15/10/09 Per tarihinde Nuri Akman <nuri.ak...@hazine.gov.tr>
şöyle yazıyor:

        

Kimden: Nuri Akman <nuri.ak...@hazine.gov.tr>

Konu: [Linux-programlama] Re: !!! Yan: Re: Online offline olayını nasıl
tutuyorsunuz ?

Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme"
<linux-programlama@liste.linux.org.tr>

Tarihi: 15 Ekim 2009 Perşembe, 11:42

          

          
          
Eğer güncellenemeya çalışılan değer değişmiyorsa SQL Updata işlemini
zaten yapmaz. (effectedrow = 0 olur yani)

          

          

          

          

Diğer bir çözüm: Sitede gezilen her sayfada kullanıcının SESSION
değerini bir tabloya kaydeder, yanına da tıklama zamanını not
alırsınız. Yani, "kullanıcılar" değil de "gezenler" gibi bir tabloda
çalışabilirsiniz. Bunun faydası: Online kişi adedini izleyebilirsiniz.
Dez avantajı: Kimler online göremezsiniz. Bunu da görmek isterseniz
"gezenler" tablosuna kullanıcı adını da not etmeniz gerekir.

          

Selamlar....

          

Guychmyrat Amanmyradov yazmış:
          
            
              
                
                  
                  

Her kişi girdiğinde bütün kayıtlarda dolaşma olmıycak mı sonuçta ?

1 saniyede 100 kişi giriş yapıyor ise 1 saniyede 1 mln kayıt gereksiz
yere taranmış olmayacak mı ?

                  

Ajax callerin asıl sebebi, 5 dk aynı sayfada hareket etmeden kalmışsa.
Kopmamak için. Özellikle sistemde chat varsa bo çok önemli oluyor.
Şöyle düşünün ben siteye girdim online oldum. birisi ile chat
yapıyorum. Sayfamı değiştirmeden 5 dk kaldım. Bu durumda ben sitede
olsam dahi offline olucam. Karşı taraf sanacak ki ben offline oldum.
Halbuki ben sitedeyim. Sadece 5 dk boyunca hareket ettim. İşte bu
problemi çözmek için ajax çalışsa o problemi çözer dedim.

                  

mln üyesi olan sitede günlük en fazla 50.000 kişi aktif olacakğını farz
edersek, herkesi offline yapmak yerine (tüm kayıtlarda dolaşmak yerine)
sadece ilgililerin değerini güncellemek daha iyi olur diye düşünüyorum.
Aslında offline / online sütunu olmasa da olur. O olmadığını
düşündüğümüzde saten ismini soyismini çekiyoruz onun yanında bir sütun
çekip tarihine bakmak db-yi yormaz. Öyle değil mi ?

                  

--- 15/10/09 Per tarihinde Omer Barlas <o...@barlas.com.tr>
şöyle yazıyor:

                  

Kimden: Omer Barlas <o...@barlas.com.tr>

Konu: [Linux-programlama] Re: Online offline olayını nasıl tutuyorsunuz
?

Kime: "Özgür yazılımlarla çeşitli dillerde yazılım geliştirme"
                    <linux-programlama@liste.linux.org.tr>

Tarihi: 15 Ekim 2009 Perşembe, 10:29

                    

                    Guychmyrat Amanmyradov @
15-10-2009
10:13:

> Başka çözümü olan varmı ? Sizinde fikrinizi sorayım dedim. Belki
daha

> ogjinal çözüm vardır.

                    

kullanıcı tablosunda bir adet "son tıklama" kolonu bulunur, her
tıklamada 

kullanıcının tıklama saati kolona eklenir.

                    

birisi login olduğunda da iki sql çalıştırılır;

1. UPDATE kullanicilar SET Durum="OFFLINE" WHERE sonTiklama <
TIME()-300;

2. UPDATE kullanicilar SET Durum="ONLINE", sonTiklama=TIME() WHERE 

kullanicilar.Id = '....

                    

birincisi anlaşılacağı üzere kullanıcı DB'sinde son 5 dakikadır hareket
                    

etmemiş tüm kullanıcıları offline eder, ikincisi ise kullanıcının son 

tıklama saatini günceller. böylece ne cron, ne ajax'a gerek kalmaz, her
                    

kullanıcı hareketinde herşey otomatikman gerçekleşir.

                    

-- 

Omer Barlas

                    o...@barlas.com.tr

_______________________________________________

Linux-programlama mailing list

                    Linux-programlama@liste.linux.org.tr

                    http://liste.linux.org.tr/mailman/listinfo/linux-programlama

                    
                  
                  
                
              
            
            

            Yahoo! Türkiye
açıldı!

Haber, Ekonomi, Videolar, Oyunlar hepsi Yahoo! Türkiye'de!

            www.yahoo.com.tr
            
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
          
          
          

-----Satır İçi Eki Var-----

          

          _______________________________________________

Linux-programlama mailing list

          Linux-programlama@liste.linux.org.tr

          http://liste.linux.org.tr/mailman/listinfo/linux-programlama

          
        
        
      
    
  
  

  Yahoo! Türkiye açıldı!

Haber, Ekonomi, Videolar, Oyunlar hepsi Yahoo! Türkiye'de!

  www.yahoo.com.tr
  
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama

 

-----Satır İçi Eki Var-----

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama



      ___________________________________________________________________
Yahoo! Türkiye açıldı!  http://yahoo.com.tr
İnternet üzerindeki en iyi içeriği Yahoo! Türkiye sizlere sunuyor!
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama

Cevap