Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 18.01.2009 Ostrzeżenie: (0%)
|
Witam,
mam bazę 4 GB i chce pobrać losowy rekord spełniające moje kryteria. Teraz mam zastosowanie: Select pole FROM tabela WHERE pole='1' ORDER BY RAND(); LIMIT 1 Ale wykorzystując RAND() zapytanie trwa bardzo długo, przy dużych bazach nie spełnia roli. W jaki sposób wy wyciągacie losowe rekordy w takich dużych bazach? Z góry dziękuje za pomoc |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%)
|
Wybaczcie link do bloga, ale kiedyś o tym pisałem, przepisywanie z bloga nie ma sensu: MySQL RAND() – jak pobrać losowe wiersze
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 12 Dołączył: 4.08.2007 Ostrzeżenie: (0%)
|
Wybaczcie link do bloga, ale kiedyś o tym pisałem, przepisywanie z bloga nie ma sensu: MySQL RAND() ? jak pobrać losowe wiersze Z tego co rozumiem proponujesz autorowi tworzenie tymczasowej tabeli zawierającej wszystkie id wierszy spełniających określony warunek WHERE? A następnie losowanie z tej tymczasowej tabeli id wiersza? I to wiedząc, że w ciągu godziny baza przybiera o 1GB? Czy może masz na myśli jakiś inny sposób podany na blogu? Ten post edytował aachi 19.06.2011, 21:16:08 |
|
|
|
lysy2005 [PHP][MYSQL] LOSOWY REKORD 18.06.2011, 12:48:03
matino Tutaj masz bardzo przydatny link: http://net.tutsp... 18.06.2011, 12:56:11
lysy2005 Cytat(matino @ 18.06.2011, 13:56:11 )... 18.06.2011, 13:11:06
Hpsi+ Aż mi sie nie chce wierzyć że:
[SQL] pobierz, pla... 18.06.2011, 13:17:25 
webdice Cytat(Hpsi+ @ 18.06.2011, 14:17... 18.06.2011, 14:32:39
lysy2005 Cytat(Hpsi+ @ 18.06.2011, 14:17... 18.06.2011, 13:43:52
Speedy Możesz zrobić tak:
[SQL] pobierz, plaintext SELEC... 18.06.2011, 14:54:24
#luq Co Wy z tym WHERE id = xxx?
Przecież można:
[SQL]... 18.06.2011, 15:59:48 
Speedy Cytat(#luq @ 18.06.2011, 16:59:48 ) C... 19.06.2011, 20:09:23
lysy2005 Cytat(#luq @ 18.06.2011, 16:59:48 ) @... 19.06.2011, 17:09:18
aachi Może rozbij tablice na kilkanaście mniejszych. Nie... 19.06.2011, 17:35:00
aachi Panowie, ale pamiętacie, że autor nie potrzebuje l... 19.06.2011, 20:27:39 
Speedy Cytat(aachi @ 19.06.2011, 21:27:39 ) ... 19.06.2011, 20:40:20
Fifi209 Fajnie jakbyś pokazał strukturę tej tabeli lub naw... 19.06.2011, 20:36:07
by_ikar Dobrym rozwiązaniem byłoby zastosowanie cron'a... 20.06.2011, 09:16:55 
uupah5 coraz ciekawsze pomysły:
rozbijanie tabeli na wiel... 20.06.2011, 09:49:40 
by_ikar Cytat(uupah5 @ 20.06.2011, 10:49:40 )... 20.06.2011, 16:59:57 
uupah5 Cytat(by_ikar @ 20.06.2011, 17:59:57 ... 20.06.2011, 22:28:44
thek Ja osobiście kombinowałbym także pod kątem:
Zlicz ... 20.06.2011, 14:15:08 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 13:35 |