Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
MySQL, wydajnosc zapytania - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: MySQL, wydajnosc zapytania (/thread-mysql-wydajnosc-zapytania)



MySQL, wydajnosc zapytania - bcn - 04-07-2010

Witam,
mam dwie bazy danych w ramach jednego serwera MySQL. Wykonujac zapytanie na baza1 wszystko jest ok, natomiast na baza2 zapytanie trwa 30sekund.
Oto zapytanie:
SELECT tmp.pesel,ew.wynik,ew.wynik_p,ew.wynik_r,o.imie,o.nazwisko
FROM _tmp_ew_wpr_lista as tmp
LEFT JOIN egzaminy_wyniki ew ON (tmp.egzamin=ew.egzamin AND
tmp.pesel=ew.pesel AND ew.studia="")
LEFT JOIN osoby o ON (tmp.pesel=o.pesel)
WHERE tmp.egzamin="EGZ_PRK_KONS"
ORDER BY tmp.pesel LIMIT 0,50;

Oto wyniki dla EXPLAIN SELECT:
baza1: http://wklej.org/id/359597/
baza2: http://wklej.org/id/359598/

O ile dobrze rozumiem powyzsze wyniki to w przypadku baza2 nie korzysta z indeksow i tu lezy przyczyna.
Indeksy sa te same, jednak patrzac na SHOW CREATE TABLE widze pewne
roznice, oto wyniki dla dwoch baz i tych tabel:
(przypominam, ze dla baza1 jest ok, dla baza2 zle):

SHOW CREATE TABLE dla tabeli egzaminy_wyniki:
baza1: http://wklej.org/id/359686/
baza2: http://wklej.org/id/359687/
roznica taka, ze zmienila sie maksymalna dlugosc peselu.

SHOW CREATE TABLE dla tabeli _tmp_ew_wpr_lista
baza1: http://wklej.org/id/359698/
baza2: http://wklej.org/id/359693/
zmienilo sie kodowanie


SHOW CREATE TABLE dla tabeli osoby:
baza1: http://wklej.org/id/359700/
baza2: http://wklej.org/id/359701/
rowniez roznica w dlugosci peselu oraz obie tabele maja kodowanie latin2

Co moze byc przyczyna takiego stanu rzeczy?