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 561 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) |
|
|
|
Destrudo Mnożenie w limicie 8.02.2017, 16:46:42
trueblue A mógłbyś wyjaśnić czemu potrzebny jest ten limit?... 8.02.2017, 17:09:17
Destrudo Przykładowo podałem bazę, rekordów ja tam mam okoł... 8.02.2017, 17:17:08
nospor Wystarczy ze bedziesz mial pod rzad 59 xxxx i 1 yy... 8.02.2017, 17:20:21
Destrudo w sumie masz rację. to jakby to rozwiązać?
chocia... 8.02.2017, 17:21:18
javafxdev jaki to problem ma rozwiązywać? bo wygląda że trze... 8.02.2017, 17:29:09
Destrudo powinno mi pokazać ostatnie 30 rekordow z bazy dan... 8.02.2017, 17:31:27
nospor Cytatchociaż czekaj, 59x i 1y, to 2 różne, a wiec ... 8.02.2017, 17:34:27
Destrudo fakt chodzi mi generalnie o to, żeby nie tyle po ... 8.02.2017, 17:36:25
nospor Cytatżeby nie tyle po 30, co maksymalnie 30 z każd... 8.02.2017, 17:37:04
Destrudo Widzę właśnie To jakby to rozwiąząć? 8.02.2017, 17:39:24
nospor Wpierw pobierasz wszystkie rozne xxxx yyyyy.
SELEC... 8.02.2017, 17:43:57
Destrudo a jeśli nie znam xxxxx i yyyy? tzn bedzie tyle roz... 8.02.2017, 17:45:52
javafxdev zrób correlated subquery 8.02.2017, 17:47:59
nospor Dlatego napisalem
CytatWpierw pobierasz wszystkie ... 8.02.2017, 17:48:13
Destrudo Jednak nie rozumiem :/ mógłbyś podać poglądowy prz... 8.02.2017, 18:34:17
javafxdev nie słuchaj nospora - zrób correlated subquery ta... 8.02.2017, 20:19:12
trueblue javafxdev,
nie do końca, bo miały to być rekordy s... 8.02.2017, 21:15:53
javafxdev ja bym się pokusił jeszcze w Twoim przykładzie zeb... 8.02.2017, 21:32:09
Destrudo Dziękuje, działa fajnie, tylko jak np pokazuje mi:... 9.02.2017, 08:36:10
trueblue Jak wygląda ORDER BY w zapytaniu? 9.02.2017, 08:59:45
nospor Cytatnie słuchaj nospora - zrób correlated subquer... 9.02.2017, 09:46:05
javafxdev Załóżmy, że różnych (x,y,z.....) mamy 50 po 10 w k... 9.02.2017, 10:04:01
nospor Dlatego powiedzialem by uzyc union. Wowczas masz d... 9.02.2017, 10:08:12
javafxdev jak napiszesz kawałek kodu, który robi to Twoją me... 9.02.2017, 10:15:51 ![]() ![]() |
|
Aktualny czas: 29.12.2025 - 18:04 |