Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Optymalizacja zapytania
Forum PHP.pl > Forum > Bazy danych > MySQL
kajzur
Cześć, napisałem sobie zapytanie. Ale coś długo się ono wykonuje.. Czy można to jakoś zoptymalizować? Jeśli tak to jak?
  1. SELECT cytaty.tresc, cytaty.dodal, cytaty.artysta, cytaty.kawalek, cytaty.DATA, cytaty.sklad, users.login, users.link FROM `cytaty` LEFT OUTER JOIN users ON cytaty.dodal=users.link WHERE cytaty.STATUS = 1 ORDER BY cytaty.DATA ASC LIMIT $lol, $config[per_page]


Bede mega wdzieczny za pomoc smile.gif

PS.
  1. SELECT cytaty.tresc, cytaty.dodal, cytaty.artysta, cytaty.kawalek, cytaty.DATA, cytaty.sklad, users.login, users.link FROM `cytaty` INNER JOIN users ON cytaty.dodal=users.link WHERE cytaty.STATUS = 1 ORDER BY cytaty.DATA ASC
tak równiez nie bardzo mnie zadowala..

PS2. 10 000 rekordów to jest. I będzie więcej..
bpskiba
Pytania wyglądają dobrze, rekordów niewiele.
Co pokazuje EXPLAIN?questionmark.gif
Jaki jest czas wykonania??
kajzur
EXPLAIN?

Wykonuje się około 12 sekund na pliku gdzie jest tylko taki skrypt.

Edit: Doczytałem. Explain:

Array
(
[0] => 1
[1] => SIMPLE
[2] => cytaty
[3] => ALL
[4] =>
[5] =>
[6] =>
[7] =>
[8] => 10354
[9] => 100.00
[10] => Using where; Using temporary; Using filesort
)
bpskiba
jeszcze druga linia explaina
kajzur
Proszę obydwie:
Array
(
[0] => 1
[1] => SIMPLE
[2] => cytaty
[3] => ALL
[4] =>
[5] =>
[6] =>
[7] =>
[8] => 10354
[9] => 100.00
[10] => Using where; Using temporary; Using filesort
)
Array
(
[0] => 1
[1] => SIMPLE
[2] => users
[3] => ALL
[4] =>
[5] =>
[6] =>
[7] =>
[8] => 1848
[9] => 100.00
[10] =>
)

PROBLEM ROZWIĄZANY!

Nie miałem ustawionych odpowiednich indeksów. Dla potomnych, więcej o nich możesz przeczytać na http://www.spychalski.info/2009/11/04/opty...czesc-1-indeksy

Czas zapytania po ustawieniu indeksów - około 0,02
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.