![]() |
![]() |
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 11:09 |