![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 3 Dołączył: 18.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam dwie table gdzie w tabeli klient jest: id_kli nazwisko w tab transakcje mam: id_pra id_kli data próbuję zrobić podzapytanie, które pomoże wyciągnąć nazwiska klientów, które powtarzają się więcej niż raz w tab transakcje: wymyśliłem coś takiego
Pytanie generalnie działa, pokazuje mi co chcę, żeby pokazywał, ale niestety wykonuje się około 25 s. Gdzie może tkwić błąd? Dodam, że obie tabele są innoDB i obie mają założony index PROBLEM ROZWIĄZANY No właśnie, choć troszkę na okrętkę i nie jestem do końca zadowolony. Stworzyłem z podzapytania widok, odpowiednio zmodyfikowałem zapytanie i działa bezproblemowo. Ten post edytował jacusek 18.07.2011, 13:19:45 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A co EXPLAIN pokazuje?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 3 Dołączył: 18.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
explain pokazuje coś takiego
"id";"select_type";"table";"type";"possible_keys";"key";"key_len";"ref";"rows";"Extra" "1";"PRIMARY";"klienci";"ALL";NULL;NULL;NULL;NULL;"6504";"Using where" "2";"DEPENDENT SUBQUERY";"transakcje";"index";NULL;"id_kli";"4";NULL;"1";"Using index" ale szczerze mówić nie wiem jak to interpretować. Udało mi się to rozwiązać w nastepujący sposób:
Ten post edytował jacusek 18.07.2011, 20:08:18 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 17:11 |