Доброго времени суток, друзья. Помогите оптимизировать запрос для фильтрации данных. Есть такой запрос, сейчас он отрабатывает 1,5 секунды. Возможно ли как то ускорить его работу?
EXPLAIN SELECT r.id, o.name AS objectName,
(SELECT MAX(d2.`valuePercent`) FROM discounts AS d2
JOIN `rooms` AS r2 ON d2.`roomId` = r2.id
WHERE r2.objectId = r.objectId) AS `valuePercent`,
d.type, o.stars, o.`infoAboutObject`, o.id AS objectId, o.url,
r.`price`, o.`address`, o.`image`, c.`name` AS cityName, o.longitudeGps, o.latitudeGps,
(SELECT GROUP_CONCAT(DISTINCT otp1.`class` SEPARATOR ',') FROM objects_types_pluses AS otp1
JOIN objects_objects_types_pluses AS ot1 ON ot1.`objectTypePlusesId` = otp1.id WHERE ot1.`objectId` = o.id)
AS className,
(SELECT GROUP_CONCAT(DISTINCT otp1.`name` SEPARATOR ',') FROM objects_types_pluses AS otp1
JOIN objects_objects_types_pluses AS ot1 ON ot1.`objectTypePlusesId` = otp1.id WHERE ot1.`objectId` = o.id)
AS pluseName,
(SELECT COUNT(rev.id) FROM reviews AS rev WHERE rev.objectId = o.`id`) AS reviewCount,
(SELECT GROUP_CONCAT(DISTINCT os1.`name` SEPARATOR ',') FROM objects_servises AS os1
JOIN objects_relation_objects_servises AS oros ON oros.`objectServiceId` = os1.id WHERE oros.`objectId` = o.id)
AS objectsServisesName,
GROUP_CONCAT(DISTINCT os.`name` SEPARATOR ',') AS objectsServisesName,
o.raitingValue
FROM objects AS o
JOIN cities AS c ON o.`cityId` = c.`id`
LEFT JOIN objects_objects_types_pluses AS op ON op.`objectId` = o.id
LEFT JOIN `objects_types_pluses` AS otp ON op.`objectTypePlusesId` = otp.`id`
JOIN rooms AS r ON o.`id` = r.`objectId`
LEFT JOIN discounts AS d ON r.`id` = d.`roomId`
LEFT JOIN objects_relation_objects_servises AS oros ON o.`id` = oros.`objectId`
LEFT JOIN objects_servises AS os ON oros.objectServiceId = os.`id`
WHERE (
d.`valuePercent` =
(
SELECT MAX(d1.`valuePercent`)
FROM discounts AS d1
JOIN `rooms` AS r1 ON d1.`roomId` = r1.id
WHERE r1.objectId = r.objectId
) OR d.`valuePercent` IS NULL
) AND c.countryId = 1
GROUP BY o.id
LIMIT 7 OFFSET 0
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Нужно из базы даних вытянуть топ категорий по их рейтингуНапример: "SELECT category_name FROM category ORDER BY rating DESC LIMIT ?" вместо знака вопроса должен передаваться...
Есть файл, содержимое которого строки, каждая строка – числоНапример : 4 4
Есть ряд пользователей , каждый из которых имеет некоторое свойствоПусть это свойство будет - ID
Часто в примерах по программированию в Android встречаю записи, например, такого вида: