Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Proste zapytanie SQL a długo trwa.
pogdan
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 21.10.2007

Ostrzeżenie: (0%)
-----


Dlaczego poniższe zapytanie idzie w minuty tzn trwa do kilku minut w tabeli tr_wydanie jest 800 recordów.
Jest index na id, i na kontrahent_id wg mnie i bez tych indexów powinno chodzić szybko.

  1. SELECT w.id AS w_id
  2. FROM tr_wydanie w WHERE w.id IN (
  3. SELECT max(w2.id)
  4. FROM tr_wydanie w2
  5. WHERE w2.wydanie>0 AND w2.id IN (
  6. SELECT max(id)
  7. FROM tr_wydanie
  8. WHERE wydanie > 0 GROUP BY kontrahent_id
  9. )
  10. GROUP BY w2.kontrahent_id
  11. )


tabela wygląda tak
  1. | id | int(11)
  2. | kontrahent_id | int(11)
  3. | name | varchar(255)
  4. | text | text
  5. | created_on | timestamp
  6. | wplata | double
  7. | action | varchar(64)
  8. | kiedy | datetime
  9.  



Po początkowym wgraniu dumpa chodzi te zapytanie bardzo szybko. Po jakimś czasie trwa kilka minut i już tak zawsze jest. Silnik MyISAM.

Ten post edytował pogdan 8.10.2013, 15:16:53
Go to the top of the page
+Quote Post

Posty w temacie


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 - 16:10