lostyazilim
tr.link

php + mysql son x kayıt arasından random seçim

4 Mesajlar 755 Okunma
acebozum
tr.link

AzveNet AzveNet WM Aracı Kullanıcı
  • Üyelik 13.06.2019
  • Yaş/Cinsiyet 43 / E
  • Meslek Serbest
  • Konum İstanbul Anadolu
  • Ad Soyad C** E**
  • Mesajlar 367
  • Beğeniler 69 / 147
  • Ticaret 0, (%0)
soru aslında mysql sorusu.
biraz araştırdım ama tek bir sorgu şeklinde sanırım ben başaramıyorum. ama aklıma şu geliyor;
son x kaydı alıp bir arraye atayıp o arrayden bir tane random seçmek.

fakat performans konusunda bununla ilgili bir fikrim yok. bu işlemi bir sorgu ile halledebilirmiyiz?
yoksa bahsettiğim yöntem mantıklımı?
 

 

İmkansız olduğunu düşünürsen hiç birşey başaramazsın.
elektronikssl
webimgo

carasar carasar All ızz well... Kullanıcı
  • Üyelik 29.10.2016
  • Yaş/Cinsiyet 33 / E
  • Meslek Öğretmen
  • Konum Konya
  • Ad Soyad O** K**
  • Mesajlar 1116
  • Beğeniler 499 / 498
  • Ticaret 16, (%100)
array_rand() fonksiyonu işinizi görür.
 

 

awoken awoken WM Aracı Kullanıcı
  • Üyelik 06.06.2019
  • Yaş/Cinsiyet 19 / E
  • Meslek Öğrenci
  • Konum Diğer
  • Ad Soyad B** G**
  • Mesajlar 1002
  • Beğeniler 250 / 478
  • Ticaret 41, (%100)
SELECT * from (SELECT * FROM tablo adı ORDER by id DESC LIMIT 10) as tbl ORDER by RAND() LIMIT 1

Bu sorgu son 10 satır arasından rastgele bir tanesini seçer. Ama performans açısından tam bir yorum yapamayacağım ben de, PHP tarafında yapsanız da pek farklı olmaz sanırım.
 

 

AzveNet AzveNet WM Aracı Kullanıcı
  • Üyelik 13.06.2019
  • Yaş/Cinsiyet 43 / E
  • Meslek Serbest
  • Konum İstanbul Anadolu
  • Ad Soyad C** E**
  • Mesajlar 367
  • Beğeniler 69 / 147
  • Ticaret 0, (%0)

awoken adlı üyeden alıntı

SELECT * from (SELECT * FROM tablo adı ORDER by id DESC LIMIT 10) as tbl ORDER by RAND() LIMIT 1

Bu sorgu son 10 satır arasından rastgele bir tanesini seçer. Ama performans açısından tam bir yorum yapamayacağım ben de, PHP tarafında yapsanız da pek farklı olmaz sanırım.


evet bu sorgu işimi görebilir diye düşünüyorum.

diğer taraftan son x kaydı alıp içlerinden random seçmek uzun yol olsada milyonlarca kayıtta randomdan çok daha ferformanslı. zaten performans için son kayıtlar arasından seçiyorum. aksi durumda random ile 1milyon sorguda herhalde 1dk işlem yapar :)

çok teşekkür ediyorum yardım için.
 

 

İmkansız olduğunu düşünürsen hiç birşey başaramazsın.
wmaraci
wmaraci
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