Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]długo wykonujące się podzapytanie
jacusek
post
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
  1. SELECT nazwisko
  2. FROM klienci JOIN transakcje USING(id_kli)
  3. WHERE id_kli IN
  4. (SELECT id_kli FROM transakcje
  5. GROUP BY id_kli
  6. HAVING count(id_kli)>1)
  7. GROUP BY id_kli

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
Go to the top of the page
+Quote Post

Posty w temacie
- jacusek   [MySQL]długo wykonujące się podzapytanie   18.07.2011, 13:01:52
- - erix   A co EXPLAIN pokazuje?   18.07.2011, 13:22:27
- - jacusek   explain pokazuje coś takiego "id";...   18.07.2011, 13:30:39


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: 5.10.2025 - 15:30