[MySQL] Które zapytanie jest szybsze?

0

Piszę pewną aplikację z wykorzystanie ajaxa, php i mysql. Mam pytanie - które zapytanie jest lepsze i szybsze?

SELECT post_time
FROM posts
WHERE topic_id =18
ORDER BY post_time DESC 
LIMIT 0 , 1

czy

SELECT MAX( post_time ) 
FROM posts
WHERE topic_id =18
0

wg mnie nr 2 bedzie szybsze
sortowanie jest bardziej kosztowne niz funkcja agregujaca

ale nie wiem jak optymalizator mySql sobie to rozwiaze

0

W teorii rozwiazanie drugie bo wybranie maxa wykonuje się w czasie O(n) a sortowanie najpewniej O(nlogn) (nawet gdyby było liniowe to stała powodowałaby znacznie większy czas). Aczkolwiek to są bazy danych i różne rzeczy są tu inaczej trochę rozwiązane. Zależy jak baza i optymalizator to sobie przerobią, jest tez kwestia indexów.

0

S P R A W D Z ! ! !

1 użytkowników online, w tym zalogowanych: 0, gości: 1