Gdy musicie wyciągnąć z tabeli jeden rekord o największej wartości jakiejś kolumny z datą lub liczbą to jak to robicie żeby było najbardziej optymalnie?
Np. jest tabela która zawiera id (number), jakąś datę i inne dane. Jak najlepiej wyciągnąć tylko pierwszy rekord zwracany przez zapytanie Select * order by jakas_data desc, id desc ?
@TomaszWKS: Jeśli nie masz żadnych innych wymagań odnośnie zwracanych danych, a chcesz największą wartość jednej z kolumn to max() będzie najbardziej wydajny jako wbudowana funkcja silnika. Nie ma co kombinować z czymś innym. W ostatecznosci mozesz dorzucić DISTINCT jeśli odpytywana kolumna może zwrócić wiele wierszy, czyli SELECT MAX(DISTINCT column_1) FROM ORDERS;
Nie polecam opcji z podzapytaniem wykorzystujacym sortowaniem, bo wtedy i tak silnik musi odczytać i wrzucić do pamięci całą
Generalnie wszystkie pszeniczniaki. Czy to amerykanskie czy nie, to popróbuj wszystkie. Mnóstwo dobrych kraftów jak i czasami możesz trafić fajne 'koncerniaki'. Imho Okocim pszeniczny jest spoko (budżetowo), ale też ze Stu mostów Hefenweizen, Mniszek z Miedzianki czy LadyBlanche z AleBrowar dają mocno radę. Nie zamykałbym się w jednym stylu bo dorgie/nieprestiżowe/słabe/nieznane itp. :)
– To jak ty się właściwie nazywasz, bo zapomniałem. Kongo? Srongo? – Mongo. – A więc uważnie mnie posłuchaj, Mongoł. Byłeś w relacjach? – Nie. – No właśnie, a ja znam kogoś, kto był i opowiedział mi to i owo. Wiesz, skąd się wzięli developerzy noSQL? – Z linkedin?
@PurpleHaze: patologia to może i jest na słodowej, ale po 21.00 i w weekendy. My kulturka - czwartek, godzina 17.00, po pracy przy grzecznej rozmowie chłodziliśmy się normalnie browarkiem to raczej żadnej pato nie uskutecznialiśmy. Nie jesteśmy stałymi bywalcami, więc nasz błąd że akurat pod jakimś monitoringiem usiedliśmy (btw. nieźle skitrany gdzieś w drzewach). No cóż, nie ma tego złego...
Już ponad tydzień czekają wszyscy podatnicy, którzy gotowi są rozliczyć podatki za 2015 r. przez Internet. Czasu coraz mniej bo firmy mają obowiązek to zrobić do końca stycznia do tego producenci oprogramowania też muszą wdrożyć nowe wzory których nie ma....
– Kredyty frankowe? No już nie nasz problem – powiedzą faceci w garniturach. Już widzę to udawane zdziwienie niektórych prezesów banków. Właśnie wpadli na genialny plan. Zanim politycy stworzą i wprowadzą w życie rozwiązania zmuszające banki do niekorzystnego przewalutowania kredytów...
Mireczki wywala mnie co chwile z overthrowa na rebornie. Myślałem, że to na wszystkich customach, ale pograłem trochę w horde i pudge wars to było git.
@korynt: reborn jest jeszcze troche zbugowany i nie wszystkie customy działaja poprawnie. Ja np zauważyłem, że jak gram pierwszy raz w jakąś mape custom to za pierwszym razem zawsze mnie disconnectuje bez możliwości reconnecta. Dziwne ale prawdziwe :P #volvofixit
Np. jest tabela która zawiera id (number), jakąś datę i inne dane.
Jak najlepiej wyciągnąć tylko pierwszy rekord zwracany przez zapytanie
Select * order by jakas_data desc, id desc ?
Zależy
Jeśli nie masz żadnych innych wymagań odnośnie zwracanych danych, a chcesz największą wartość jednej z kolumn to max() będzie najbardziej wydajny jako wbudowana funkcja silnika. Nie ma co kombinować z czymś innym.
W ostatecznosci mozesz dorzucić DISTINCT jeśli odpytywana kolumna może zwrócić wiele wierszy, czyli SELECT MAX(DISTINCT column_1) FROM ORDERS;
Nie polecam opcji z podzapytaniem wykorzystujacym sortowaniem, bo wtedy i tak silnik musi odczytać i wrzucić do pamięci całą
Ehhh. Słaby jestem w wykopy, nie ogarnąłem poprawnie załącznika. Tutaj, chyba lepiej.
źródło: comment_syY1twiWB4AAP0uGAJpSQ9G9w4ax5QS1.jpg
Pobierz