Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [sql] czy LIMIT tu coś zmieni ?
M@X
post
Post #1





Grupa: Zarejestrowani
Postów: 212
Pomógł: 0
Dołączył: 18.12.2003
Skąd: Warszawa

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


Witam.
Pytanie może banalne.. ale jak tak się dłużej zastanawiam czy może jednak nie takie banalne.
Przykładowo mam tabele "user", która ma 50 000 wierszy.
W momencie gdy użytkownik się loguje to jest zapytanie
select * from user where login = jan_kowalski"";
Czyli loguje usera o loginie "jan_kowalski".

Wiadomo że w bazie jest tylko jeden taki wiersz o loginie "jan_kowalski" więc jak stworze zapytanie:
select * from user where login = jan_kowalski" LIMIT 1";
to ten LIMIT ograniczy obciążenie wyszukiwania z bazy do 1 pozycji ? czy to będzie dokładnie takie same obciążenie jak bez LIMITu ?

Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Zmniejszy, bo po znalezieniu jednego rekordu spełniającego warunek nie będą przeszukiwane pozostałe.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


TL;DR
Jesli masz index to nie zobaczysz różnicy, jeśli nie masz to różnica będzie duża.


Z LIMIT teoretycznie będzie szybciej (jeśli masz klucz na login to będzie to mikro optymalizacja)

LIMIT w tym przykładzie zadziała tak że po znalezieniu pierwszego rekordu następuje przerwanie operacji i zwrócenie rekordu.
Jednak przy wyszukiwaniu pola z indeksem to i tak nie będzie miało większego znaczenia.
Go to the top of the page
+Quote Post
M@X
post
Post #4





Grupa: Zarejestrowani
Postów: 212
Pomógł: 0
Dołączył: 18.12.2003
Skąd: Warszawa

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


dzięki.. właśnie o takie potwierdzenie mi chodziło (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
maly_swd
post
Post #5





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

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


Jak na login dasz INDEX UNIKALNY to będzie szybciej i nie będzie trzeba dawać LIMIT
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: 17.09.2025 - 22:10