GizeH
Legacy Member
Hallo
ik heb een tabel met 10 miljoen rijen, waaruit ik random 10 rijen wil tonen uit gans die tabel (waar id parent !=0)
de structuur is:
id int
id_parent int
woord varchar(255)
sort_random (int)
ik weet dat ORDER BY RAND() slecht is op grote tabellen maar hoe los ik dit dan op?
ik kan niet where id > xxx AND id < xxx doen omdat er 'gaten' in de ids kunnen zitten, waardoor ik niet meer het juiste aantal rijen heb.
Bovendien is het niet echt random als ik zo zou werken omdat hij dan randoms gaat geven die meestal erg gelijkaardig zijn.
dit is wat ik probeerde:
SELECT id, woord FROM woord WHERE id_parent != 0 ORDER BY sort_random DESC LIMIT 10
ook deze query is niet haalbaar omwille van de veel te lange uitvoertijd...
Weet iemand hoe ik dit kan oplossen? of is mysql gewoon niet gemaakt om met zoveel data om te gaan?
ik heb een tabel met 10 miljoen rijen, waaruit ik random 10 rijen wil tonen uit gans die tabel (waar id parent !=0)
de structuur is:
id int
id_parent int
woord varchar(255)
sort_random (int)
ik weet dat ORDER BY RAND() slecht is op grote tabellen maar hoe los ik dit dan op?
ik kan niet where id > xxx AND id < xxx doen omdat er 'gaten' in de ids kunnen zitten, waardoor ik niet meer het juiste aantal rijen heb.
Bovendien is het niet echt random als ik zo zou werken omdat hij dan randoms gaat geven die meestal erg gelijkaardig zijn.
dit is wat ik probeerde:
SELECT id, woord FROM woord WHERE id_parent != 0 ORDER BY sort_random DESC LIMIT 10
ook deze query is niet haalbaar omwille van de veel te lange uitvoertijd...
Weet iemand hoe ik dit kan oplossen? of is mysql gewoon niet gemaakt om met zoveel data om te gaan?