Optimize extremely slow SQL query SELECT j.job_id,j.last_updated,j.job_title,j.status,
(SELECT COUNT(*) FROM candidates WHERE job_id=j.job_id) resumes_count,
(SELECT COUNT(*) FROM candidates c WHERE job_id=j.job_id AND c.ref_type=1) auto_resumes_count,
(SELECT COUNT(*) FROM candidates c WHERE job_id=j.job_id AND c.ref_type=0) self_resumes_count,
(SELECT COUNT(*) FROM candidates c WHERE job_id=j.job_id AND c.ref_type=-1) paging_resumes_count,
(SELECT SUM(views) FROM job_views WHERE job_id=j.job_id) job_views,
(SELECT posts FROM autopost_jobs WHERE job_id=j.job_id) autopost_count
FROM jobs j WHERE j.user_id={$userId} ORDER BY j.last_updated DESC,STATUS


Table structure:

| jobs  | CREATE TABLE `jobs` (
  `job_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(20) NOT NULL,
  `job_title` varchar(450) NOT NULL,
  `job_desc` varchar(5000) NOT NULL,
  `sjob_data` text NOT NULL,
  `job_requirements` varchar(5000) DEFAULT NULL,
  `years_of_experience` varchar(100) NOT NULL,
  `location_id` int(11) unsigned NOT NULL,
  `department_id` int(11) NOT NULL,
  `role_id` int(10) unsigned NOT NULL,
  `job_company_name_alt` varchar(100) DEFAULT NULL,
  `is_show_company` tinyint(1) NOT NULL DEFAULT '1',
  `status` tinyint(2) NOT NULL DEFAULT '0' COMMENT '0=inactive,1=active,2=deleted',
  `job_reward` varchar(128) DEFAULT NULL,
  `job_lang` int(11) NOT NULL DEFAULT '0' COMMENT '0 - Ru 1 - En',
  `job_photo` varchar(100) DEFAULT NULL,
  `last_updated` datetime NOT NULL,
  `is_hot_job` tinyint(1) NOT NULL DEFAULT '0',
  `job_internal_id` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`job_id`)
) ENGINE=MyISAM AUTO_INCREMENT=1794 DEFAULT CHARSET=utf8 |

| candidates | CREATE TABLE `candidates` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `hr_id` int(11) DEFAULT NULL,
  `job_id` int(10) unsigned NOT NULL DEFAULT '0',
  `through_user_id` int(11) NOT NULL,
  `ref_type` tinyint(4) NOT NULL COMMENT '0 = personal , 1 = automatic , 2 = file uploaded , 3 = lead sent',
  `media_id` tinyint(2) NOT NULL DEFAULT '-1',
  `status_id` int(11) DEFAULT NULL,
  `cv_filename` varchar(250) DEFAULT NULL,
  `lead_url` varchar(256) DEFAULT NULL,
  `is_deleted` tinyint(1) NOT NULL DEFAULT '0',
  `is_viewed` tinyint(1) NOT NULL DEFAULT '0',
  `is_hired` tinyint(1) NOT NULL DEFAULT '0',
  `is_employee_note` tinyint(4) NOT NULL DEFAULT '0',
  `note` varchar(1000) NOT NULL,
  `last_updated` datetime NOT NULL,
  `device_type` int(1) NOT NULL DEFAULT '0' COMMENT '0 - web, 1 - mobile',
  `third_party_approval` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `setIndex` (`user_id`,`job_id`,`through_user_id`)
) ENGINE=MyISAM AUTO_INCREMENT=20012 DEFAULT CHARSET=utf8 |
| autopost_jobs | CREATE TABLE `autopost_jobs` (
  `job_id` int(11) NOT NULL,
  `hr_id` int(11) NOT NULL,
  `posts` bigint(20) DEFAULT '0',
  `media_id` int(11) NOT NULL,
  `last_user_id` int(11) DEFAULT NULL,
  `last_updated` datetime DEFAULT NULL,
  `inserted_date` datetime DEFAULT NULL,
  PRIMARY KEY (`job_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
| job_views | CREATE TABLE `job_views` (
  `user_id` int(11) NOT NULL,
  `hr_id` int(11) NOT NULL,
  `job_id` int(11) NOT NULL,
  `media_id` int(11) NOT NULL,
  `post_type_id` int(11) NOT NULL COMMENT '0 - self, 1 - auto, -1 - undefined ',
  `date` date NOT NULL,
  `views` bigint(20) NOT NULL DEFAULT '0',
  `last_time` time NOT NULL,
  PRIMARY KEY (`user_id`,`hr_id`,`job_id`,`media_id`,`date`,`post_type_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |


This query just hangs, what could be the reason?, how can I optimize it
Indexes to add:

Table: candidates
  (job_id, ref_type)

Table: job_views
  (job_id, views)

Table: autopost_jobs
  (job_id, posts)


Then run again the queries and post the updated EXPLAIN