Eklemeyi unuttuğum bir kısım var. Veriyi seçerken where kullanarak belli bir değere sahip verileri sıralıyorum. where status = 0 gibi.
Bu durumda sizin önerdiğiniz şekil uygun olmayacaktır sanırım. Rastgele id seçimini yaparken sadece status = 0 olanlar arasından seçim yaptırmama gerekeceği için yine aynı şey olacaktır.
status alacağı değer 0 veya 1
tinyint atadım 1 byte
index eklesem boyutu 1 milyon kayıtta önemsiz olur,
SELECT id FROM tablo USE INDEX(PRIMARY,status) WHERE status=0 ORDER BY RAND() LIMIT 10
deneyip sonuçlarıda yazın merak ettim mysql performansını, elimde o kadar büyük veritabanı olmadığı için test edemiyorum