Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / оптимизация запроса / 4 сообщений из 4, страница 1 из 1
06.02.2017, 09:09
    #39399024
khurshed
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
Что то долго выполняется когда данных много, запрос и структура таблиц приведены ниже
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT `product`.`id`, `product`.`name`, `product`.`condition`, `product`.`city_id`,  `product`.`price`,`user`.`name`  AS `user_name`, `city`.`name` AS `city_name`
FROM `product_to_category` `p2c`
JOIN `product` `product` ON product.id = p2c.product_id
LEFT JOIN `city` `city` ON city.id=product.city_id
LEFT JOIN `user` ON user.id=product.user_id
WHERE (
((`product`.`id` in (
					select product_id from product_to_city
					join city on (city.id = product_to_city.city_id)
					where city.id = 1 or city.parent_id = 1
				))) AND

( (`product`.`zombie` = 0)) AND (`product`.`publish` = 1 AND (`product`.`delete` = 0 OR `product`.`delete` is null)))
GROUP BY `product`.`id`
HAVING COUNT(1) > 1
ORDER BY `product`.`timestamp_update` DESC



таблица продукт



таблица city



таблица category



таблица product_to_category



таблица user



таблица product_to_city



explain

...
Рейтинг: 0 / 0
06.02.2017, 10:10
    #39399057
Дедушка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
имхо,
- нужно не структуру таблиц приводить, а план запроса
- вам быстрее ответят в профильном форуме Microsoft SQL Server
...
Рейтинг: 0 / 0
06.02.2017, 10:47
    #39399086
s_ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
khurshed,
попробуйте вообще отказаться от WHERE, а все условия оформите как ON в JOIN.
Так оптимизатору будет легче.
...
Рейтинг: 0 / 0
06.02.2017, 11:25
    #39399128
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
сколько записей в product to city для данного city?

просто запрос непростой, и выполняться долго для него характерно.

нет условий фильтрации и все записи должны быть обработаны.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / оптимизация запроса / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]