Вот запрос, что займет 12 секундMysql запрос выполняется слишком долго или условие
SELECT SQL_CALC_FOUND_ROWS DISTINCT `t`.* FROM `wp_pods_bars` AS `t`
LEFT JOIN `wp_podsrel` AS `rel_city` ON
(`rel_city`.`field_id` = 13918 AND `rel_city`.`item_id` = `t`.`id`) OR
(`rel_city`.`related_field_id` = 13918 AND `rel_city`.`related_item_id` = `t`.`id`)
если я
SELECT SQL_CALC_FOUND_ROWS DISTINCT `t`.* FROM `wp_pods_bars` AS `t`
LEFT JOIN `wp_podsrel` AS `rel_city` ON
(`rel_city`.`field_id` = 13918 AND `rel_city`.`item_id` = `t`.`id`)
или
SELECT SQL_CALC_FOUND_ROWS DISTINCT `t`.* FROM `wp_pods_bars` AS `t`
LEFT JOIN `wp_podsrel` AS `rel_city` ON
(`rel_city`.`related_field_id` = 13918 AND `rel_city`.`related_item_id` = `t`.`id`)
каждый запрос выполняется 0,09 секунды , Почему так и как это исправить?
РЕДАКТИРОВАТЬ:
EXPLAIN SELECT SQL_CALC_FOUND_ROWS DISTINCT `t`.* FROM `wp_pods_bars` AS `t`
LEFT JOIN `wp_podsrel` AS `rel_city` ON
(`rel_city`.`related_field_id` = 13918 AND `rel_city`.`related_item_id` = `t`.`id`)
результат
id,select_type,table,type,possible_keys,key,key_len,ref,rows,Extra
1,SIMPLE,t,ALL,NULL,NULL,NULL,NULL,1340,Using temporary
1,SIMPLE,rel_city,ref,rel_field_rel_item_idx,rel_field_item_idx,rel_field_rel_item_idx,14,const,barchick.t.id,1,Using index; Distinct
второй
EXPLAIN SELECT SQL_CALC_FOUND_ROWS DISTINCT `t`.* FROM `wp_pods_bars` AS `t`
LEFT JOIN `wp_podsrel` AS `rel_city` ON
(`rel_city`.`related_field_id` = 13918 AND `rel_city`.`related_item_id` = `t`.`id`)
результат
id,select_type,table,type,possible_keys,key,key_len,ref,rows,Extra
1,SIMPLE,t,ALL,NULL,NULL,NULL,NULL,1340,Using temporary
1,SIMPLE,rel_city,ref,rel_field_rel_item_idx,rel_field_item_idx,rel_field_rel_item_idx,14,const,barchick.t.id,1,Using index; Distinct
У вас есть указатель на 't.id' и' rel_city.related_item_id'? –
Подготовить 'EXPLAIN' к каждому из запросов и вставить результаты. – hjpotter92
@JW да все индексируется –