Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 6 Dołączył: 17.05.2007 Ostrzeżenie: (0%)
|
Witam
Na początku zaznaczam że szukałem na forum i nic nie znalazłem więc jeżeli było to proszę o linka Pobieram z bazy danych losowe wpisy takim pytaniem: "SELECT * FROM obrazki ORDER BY RAND() LIMIT 10" Niestety przy 400 wpisach pytanie wykonuje się ok 0.2s Czy jest jakiś szybszy sposób na to? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%)
|
ja bym to spróbował zrobić na 2 zapytaniach, pierwsze
zakładając, że w zmiennej $count mamy wynik pierwszego zapytania, budujemy w PHP drugie:
dla dużych ilości danych nie widzę wydajniejszej metody... nie wymaga przesyłania dużych ilości danych ani sortowania tablic, nie wymaga zakładania specjalnych indeksów w tabeli z której losujemy... życie byłoby jeszcze prostsze, gdyby klauzula LIMIT w MySQL dopuszczała jako parametr coś innego niż stałą liczbową, wtedy można by to zrobić w jednym zapytaniu. pozdrawiam. Ten post edytował nevt 16.01.2008, 21:37:54 |
|
|
|
Force [mysql] wybieranie losowego wpisu 16.01.2008, 13:59:04
Cezar708 CytatRAND() is not meant to be a perfect random ge... 16.01.2008, 16:01:00
Force Mam mniej więcej taką tabelę
[SQL] pobierz, plaint... 16.01.2008, 21:26:37
Force nevt: Tylko, że ja wyciągam z bazy ponad 10 wpisów... 17.01.2008, 13:43:37
Cezar708 Cytat(Force @ 16.01.2008, 21:26:37 ) ... 17.01.2008, 14:20:15 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 13:34 |