SELECT *
FROM (
SELECT `film_id`, GROUP_CONCAT(`title`) AS `titles`
FROM (
SELECT `fc`.`film_id` AS `film_id`, `c`.`title` AS `title`
FROM `film_crew` AS `fc`
JOIN `career_list` AS `c`
ON `fc`.`person_id` = :person_id AND `c`.`id` = `fc`.`career_id`
UNION SELECT `film_id`, 'Актёр'
FROM `film_actors`
WHERE `person_id` = :person_id
) AS `t`
GROUP BY `film_id`
) AS `t`
JOIN `films` AS `f` ON `f`.`id` = `t`.`film_id`
Саму опцию KeepAlive на сокете включает прикладная программа, а обрабатывается она уже системой.
Время можно поменять в параметрах сокета, например так:
http://stackoverflow.com/questions/169170/what-is-...