![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 0 Dołączył: 10.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Hej,
Mam takie rekordy w bazie: xxxx xxxx yyyy czyli 2 są takie same i 1 inny, w sumie 2 różne. Potrzebuję zrobić zapytanie w stylu (poglądowo): select x,y from tabela order by data desc limit (ilość różnych rekordów czyli 2*30) i nie bardzo mam pomysł jak takie coś zrobic. Ma ktoś może pomysł? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
OK, specjalnie dla ciebie odpalilem te wasze cudo.
Liczba rekordow: 200 000 Liczba roznych danych:100 Czas pobrania 30 rekordow dla danego jednego: 0.03s Union ze 100 takimi zapytaniami: 3 sekundy DISTINCT by pobrac te 100 roznych danych: 0.2s. Laczny czas: nie wiecej niz 5 sekund. A teraz wasze cudo: czas:1 minuta 52 sekundy Tyle w temacie (IMG:style_emoticons/default/tongue.gif) edit: a skad taki dlugi czas u Was? Bo tak jak mowilem wczesniej, wy tworzycie tyle zapytan ile macie rekordow. Jest 200 000 rekordow to to zapytanie SELECT COUNT(*) FROM xy AS x2 WHERE x1.data<=x2.DATA AND x1.x=x2.x wykona sie 200 000 razy. I ty mi mowisz ze moje 50 zapytan jest obciazeniem.... (IMG:style_emoticons/default/tongue.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.10.2025 - 03:14 |