при вводе нового объекта срабатывает поиск на соответствие, так вот если параметров не было показывает общее количество объектов и с лимитом немного объектов.
Так вот первый раз это происходит минуты 2, потом справляется за пол секунды, но стоит внести новый объект то опять первый раз около 2х минут, можно как это решить?
запрос большой много LEFT JOIN для выдергивания параметров, пример:
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- SELECT `RS-CMS_adresat_object`.*, `dir_param_ws`.value AS param_ws , `param_test`.value_int AS param_test , `dir_param_floor`.value_int AS param_floor , `dir_param_material`.value AS param_material , `param_s_k`.value_int AS param_s_k , `param_rrr`.value_int AS param_rrr , `dir_param_names`.value AS param_names , `param_info`.value AS param_info , `param_price`.value_int AS param_price , `dir_param_city`.value AS param_city FROM `RS-CMS_adresat_object` LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS `param_ws` ON `param_ws`.object_id = `RS-CMS_adresat_object`.id AND `param_ws`.id_directory=16 LEFT JOIN `RS-CMS_adresat_directory_values` AS `dir_param_ws` ON `dir_param_ws`.id = `param_ws`.link AND `dir_param_ws`.id_directory=16 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS param_test ON `param_test`.object_id = `RS-CMS_adresat_object`.id AND `param_test`.id_directory=19 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS `param_floor` ON `param_floor`.object_id = `RS-CMS_adresat_object`.id AND `param_floor`.id_directory=14 LEFT JOIN `RS-CMS_adresat_directory_values` AS `dir_param_floor` ON `dir_param_floor`.id = `param_floor`.link AND `dir_param_floor`.id_directory=14 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS `param_material` ON `param_material`.object_id = `RS-CMS_adresat_object`.id AND `param_material`.id_directory=15 LEFT JOIN `RS-CMS_adresat_directory_values` AS `dir_param_material` ON `dir_param_material`.id = `param_material`.link AND `dir_param_material`.id_directory=15 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS param_s_k ON `param_s_k`.object_id = `RS-CMS_adresat_object`.id AND `param_s_k`.id_directory=20 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS param_rrr ON `param_rrr`.object_id = `RS-CMS_adresat_object`.id AND `param_rrr`.id_directory=22 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS `param_names` ON `param_names`.object_id = `RS-CMS_adresat_object`.id AND `param_names`.id_directory=23 LEFT JOIN `RS-CMS_adresat_directory_values` AS `dir_param_names` ON `dir_param_names`.id = `param_names`.link AND `dir_param_names`.id_directory=23 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS param_info ON `param_info`.object_id = `RS-CMS_adresat_object`.id AND `param_info`.id_directory=17 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS param_price ON `param_price`.object_id = `RS-CMS_adresat_object`.id AND `param_price`.id_directory=24 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS `param_city` ON `param_city`.object_id = `RS-CMS_adresat_object`.id AND `param_city`.id_directory=10 LEFT JOIN `RS-CMS_adresat_directory_values` AS `dir_param_city` ON `dir_param_city`.id = `param_city`.link AND `dir_param_city`.id_directory=10 WHERE `RS-CMS_adresat_object`.type_id=:type GROUP BY `RS-CMS_adresat_object`.id ORDER BY `RS-CMS_adresat_object`.date_add DESC LIMIT 10