wmaraci reklam
tr.link

Algoritmayla Sıralamak

13 Mesajlar 3.013 Okunma
acebozum
tr.link

karbonat karbonat WM Aracı Kullanıcı
  • Üyelik 06.05.2012
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci
  • Konum
  • Ad Soyad ** **
  • Mesajlar 112
  • Beğeniler 7 / 32
  • Ticaret 0, (%0)

Hürkal adlı üyeden alıntı

Benzer şekilde bir puanlama getirebilirsiniz yazılarınıza. Örneğin gün başına maksimum puan tanımlarsınız, 250 olsun. n. gün yayınlanan yazı için işlem şu olsun:

250 - (n-1) x 10

Böylece son 25 günlük yazıya en fazla 250 puan olacak şekilde puan vermiş olursunuz. Bunun yanında her beğeniye de 10 puan verildiğini varsayalım. Bir yazı 20 beğeni aldığında puanı haliyle 20 x 10 = 200 olacaktır.

Yazının 1. gün puanı: 250 + 200 = 450
Yazının 10. gün puanı: 160 + 200 = 360
Yazının 20. gün puanı: 60 + 200 = 260
...

Böylece gittikçe eskiyen ancak çok beğeni almayan yazı aşağıya kayarken beğeni almaya devam eden yazı üstte kalmaya devam edecektir, elbette hangisini daha fazla istiyorsanız ona göre verebilirsiniz.

Ben bu tarz işlemler için veritabanından ayrılmayın derim.

Tüm yazıların puan hesaplamasını da her saat başı çalışacak şekilde ayarlanmış bir zamanlanmış görev (cronjob) ile yapabilirsiniz.


Yardım için çok teşekkürler.
 

 

googleasistan
reklam

Omercitak Omercitak Sms Onayı Gerekli Banlı Kullanıcı
  • Üyelik 01.08.2012
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci / Php Developer
  • Konum Yalova
  • Ad Soyad ** **
  • Mesajlar 174
  • Beğeniler 64 / 45
  • Ticaret 1, (%100)

Hürkal adlı üyeden alıntı

Bu sorunu kesinlikle çözecektir ancak veritabanında binlerce verinin olabileceğini düşünürsek hızımız çok azalacaktır. Bunun yerine bir Kolon4 oluşturup daha kaydetme aşamsında veya değişiklik yapılışında bu 3 değere göre hesaplanmış veriyi Kolon4'e yazdırıp Kolon4'e göre sıralama yapmak ve bu sütuna INDEX atamak bizi onlarca kat hızlandırır.


Bu yöntem benim yöntemime göre daha mantıklı. Hem hız konusunda hem sağlık konusunda. Zaten altı üstü 3 rakamlı bir sayı olacağından veritabanını fazlaşişirme gibi bir durumda olmayacaktır. Nasılda aklıma gelmedi tüh :)
 

 

Hurkal Hurkal Sms Onayı Gerekli Banlı Kullanıcı
  • Üyelik 05.08.2011
  • Yaş/Cinsiyet - / E
  • Meslek Öğretmen
  • Konum İstanbul Avrupa
  • Ad Soyad ** **
  • Mesajlar 382
  • Beğeniler 89 / 114
  • Ticaret 0, (%0)

Ömer Çıtak adlı üyeden alıntı

Bu yöntem benim yöntemime göre daha mantıklı. Hem hız konusunda hem sağlık konusunda. Zaten altı üstü 3 rakamlı bir sayı olacağından veritabanını fazlaşişirme gibi bir durumda olmayacaktır. Nasılda aklıma gelmedi tüh :)


Birlikte ulaştık çözüme. :)
Omercitak

kişi bu mesajı beğendi.

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al