![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Tabela MYSQL ma milion rekordów, a może mieć nawet kilkanaście razy więcej.
Potrzebuję wylosować z niej X rekordów i wyświetlić informację zawarta w ich polach Przykładowo mam takie zapytanie które wykonuje oczekiwane zadanie ale obciąża zasoby serwera. CODE <? $zapytanie_sr = "SELECT pole FROM tabela ORDER BY RAND() LIMIT 20"; $wykonaj_sr = mysql_query($zapytanie_sr); while($rek_sr = mysql_fetch_array($wykonaj_sr)) { $tekst_sr=$rek_sr['pole']; //wyświetlanie wyniku zapytania echo "<font size=2 face=Arial>"; echo" <B>$tekst_sr</B> "; echo "</font><br>"; } ?> Jak rozwiązać żeby obciążenie było minimalne i nie trzeba było czekać na wyświetlenie wyniku? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
A co z przerwami w IDkach?
http://akinas.com/pages/en/blog/mysql_random_row/ - jak losowac JEDEN rekord w 1 zapytaniu, moze ci sie przyda |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 224 Pomógł: 18 Dołączył: 4.02.2003 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
A co z przerwami w IDkach? tak jak napisałem wcześniej: Cytat Następnie jeśli pola ID a autoinkrementacją mogą być usuwane to dać jakiś warunek sprawdzający czy jest wyników tyle ile chcemy jeśli nie do powtórzyć losowanie lub wybrać dodatkowo jeszcze jakieś pole.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 05:53 |