Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zapytanie dziala bardzo wolno
abiku
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 12.05.2008

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


2 proste tabelki:
"task"
`tas_id` int(11) NOT NULL AUTO_INCREMENT,
`tas_name` varchar(140),
PRIMARY KEY (`tas_id`)

i

"comments" (
`tco_id` int(11) NOT NULL AUTO_INCREMENT,
`tco_tas_id` int(11) DEFAULT NULL,
`tco_status_id` int(11) DEFAULT NULL COMMENT 'select__y__Status__tracker_statuses__tst_id__tst_name',
`tco_comment` text COLLATE utf8_bin COMMENT 'Comment__n',
PRIMARY KEY (`tco_id`)

w tabelce tas mam zadania, w drugiej komentarze do nich. pole tco_tas_id laczy sie z tas_id.
w tabeli comments mam pole tco_status_id. w miare dodawania nowych komentarzy do danego zadania status moze sie zmieniac.
i teraz:
chce wyswietlic liste wszystkich zadan wyswietlajac tas_name i ostatni status z tabeli comments.
pisze takie zapytanie:
"select t.tas_name, com.tco_status_id
from task t inner join comments com
on t.tas_id = com.tco_tas_id
where
com.tco_id = (select MAX(tco_id) from comments where tco_tas_id = t.tas_id)"
Dziala to poprawnie, problem w tym ze baaardo wolno. juz przy 2tys recordow w tabeli task i 5tys w comments strasznie obciaza procesor.
co tutaj robie zle, jak to lepiej napisac?

z gory dziekuje za pomoc
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 11:09