@digiklan hocam yorumunuz için teşekkür ederim aynen size katılıyorum php rand ile 20 sayısı üretip sql le bağlamak ile direk sql rand komutu arasında fark var, fakat atıyorum 500 bin 1 milyon kayıtlı veritabanında rand ile ürettiğim sayıyı kontrol ettiğimiz de az da olsa hız veriyor fakat "en faydalı yapılabilecek" bir yöntem gerek.
test ettim direk rand ile site 20 saniyede açılırken php rand ile sayı üreterek 15sn civarında açılıyor. 5sn'ye ye düşürmek gerek.
Tam rand yerine belirli bir id den sonraki videolari göstermek daha hızlı yanıt verilmesini sağlayacaktır.
Yani maksimum idyi öğrenip, sonra php $rand = rand(1,($max_id-20)) şeklinde bir id oluşturup bu id üzerinden WHERE id > $rand ORDER BY id ASC LIMIT 20 gibi bir sorgu ile tek sorguda 20 satır daha hızlı şekilde gelir.
Ayrıca bu rastgele video gösterimini bir file cache olarak yazmak, 10-15 dakikada bir güncellemek sistem performansını daha az yorar. Böylece 15 dakikada bir kez sayfa açılışı 15 saniye sürer diğer zamanlarda mikro saniyelerde yüklenir rastgele videolar.