![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 1 Dołączył: 13.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam takie zapytanie:
Służy do wylistowania / wyszukania artykułów dla danej kategorii. Dodatkowo zwraca mi dodatkowe informacje o dodającym oraz o osobie, która jako ostatnia edytowała artykuł (edytować może autor lub administrator), m.in to czy dodający lub ostatni edytujący jest administratorem, czy też zwykłym użytkownikiem. Oczywiście zamiast tego zera przy limicie pojawia się odpowiedni offset (IMG:style_emoticons/default/winksmiley.jpg) Dla testu dodałem ok. 1000 artykułów do bazy. Niestety zapytanie zbyt długo się wykonuje, a i tak testuję to tylko na localhoście. Czas więc zoptymalizować składnię zapytania o ile się da no i dodać indeksy. Tabela artykułów:
Pole member_username w tabeli members:
I pytanie tak na marginesie - stosować słówko AS w zapytaniach czy lepiej skrócony zapis bez tego słowa kluczowego? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 1 Dołączył: 13.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
A bez uproszczenia (IMG:style_emoticons/default/biggrin.gif) ?
1. Wykonanie zapytań z EXPLAIN zarówno z SQL_CALC_FOUND_ROWS jak i bez niego - zwraca ten sam wynik. 2. Wykonanie obu zapytań bez EXPLAIN skutkuje tym, że to bez SQL_CALC_FOUND_ROWS jest prawie dwukrotnie szybsze. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 07:03 |