Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]Zapytanie o unikalne dane, Zapytanie o unikalne dane
--lion_87--
post
Post #1





Goście







Witajcie!

Mam pytanie co do MySQL.

Otóż w w pewnej tabeli posiadam ok. 1 500 000 rekordów.

Każdy rekord to pojedynczy punkt określonego id.

Różnych id jest ok. 50

Obecnie wyświetlenie tych 50 id i do każdego jego ostatni dodany punt do tej samej tabeli zajmuje po 30 sec.

Próbowałem z DISTINCT(zdecydowanie szybciej ~3 sec) ale wyciągane są tylko pierwsze dodane rekordy poszczególnych id
  1. SELECT DISTINCT(`a`),b FROM `tabela` GROUP BY `a`


Natomiast nie potrafię tego "odwrócić" by były wyciągane ostatnio dodane rekordy.
Go to the top of the page
+Quote Post
peter13135
post
Post #2





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


Jest indeks na a ?
Go to the top of the page
+Quote Post
--lion_87--
post
Post #3





Goście







Z tego co teraz zobaczyłem to jest tak:

Nazwa klucza
PRIMARY

Typ
BTREE

Jednoznaczny
Tak

Spakowany
Nie

Pole
a
Go to the top of the page
+Quote Post
CuteOne
post
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


  1. SELECT DISTINCT(`a`),b FROM `tabela` ORDER BY a DESC GROUP BY `a`


Ten post edytował CuteOne 25.08.2011, 14:06:27
Go to the top of the page
+Quote Post
--lion_87--
post
Post #5





Goście







No właśnie ORDER sortuje tylko te 50 id między sobą. Nie powoduje wybrania tych ostatnio dodanych rekordów.
Go to the top of the page
+Quote Post
CuteOne
post
Post #6





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


1,2,2,1 - po sortowaniu otrzymasz 2,2,1,1 z czego odpadnie druga dwójka i druga jedynka...
Go to the top of the page
+Quote Post
--lion_87--
post
Post #7





Goście







Poprzednio dałem inną kolejność(najpierw group a potem order)

Teraz w tej kolejności co napisałeś to wywala błąd przy GROUP.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 19:15