powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите с запросом
9 сообщений из 9, страница 1 из 1
Помогите с запросом
    #38452123
22Rostislav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть большая БД автозапчастей на Mysql.
Данный запрос выполняется около минуты, что можно сделать чтобы ускорить его?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
SELECT  
     a.art_id,
     a.article_nr,
     ga.group_name,
     s.brand,
     c.description,
     ac.value,
     ac.kv
     
from tof_articles a
join tof_art_link al on 
	a.art_id=al.article_id
join tof_generic_articles ga on
	ga.id=al.generic_article_id		
join tof_link_la_type lta on
	al.id=lta.link_art_id
join tof_link_ga_st st on
	lta.ga_id=st.generic_article_id
join tof_suppliers s on
	a.sup_id=s.id
join tof_art_criteria ac on
a.art_id = ac.art_id
join tof_criteria c on
ac.cri_id = c.id
where st.search_tree_id = 10359 and
    	lta.type_id =31029 



Структура таблиц с индексами в прикрепленном файле.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38452204
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А explain ихде?
...
Рейтинг: 0 / 0
Помогите с запросом
    #38452673
22Rostislav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
...
Рейтинг: 0 / 0
Помогите с запросом
    #38452774
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм...

Во-первых, у тебя везде внутреннее связывание, так что перепиши джойны на картезианку с отбором, всё равно оптимизатор с этого начинает. И постарайся выстроить условия во WHERE в таком порядке, чтобы зрительно было понятно, что к чему прикручено и, соответственно, какие нужны индексы для ускорения запроса.
Далее - сколько записей имеется в каждой из таблиц?
...
Рейтинг: 0 / 0
Помогите с запросом
    #38452885
22Rostislav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
tof_articles --------- 3 900 000
tof_art_link ---------12 500 000
tof_generic_articles-- 4 500
tof_link_la_type ----80 000 000
tof_link_ga_st ------35 000
tof_suppliers -------450
tof_art_criteria----- 12 000 000
tof_criteria ---------2 700

примерные значения
...
Рейтинг: 0 / 0
Помогите с запросом
    #38453206
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaХм...

Во-первых, у тебя везде внутреннее связывание, так что перепиши джойны на картезианку с отбором, всё равно оптимизатор с этого начинает. И постарайся выстроить условия во WHERE в таком порядке, чтобы зрительно было понятно, что к чему прикручено и, соответственно, какие нужны индексы для ускорения запроса.
Далее - сколько записей имеется в каждой из таблиц?

Чего на что переделать и главное -- зачем ?
...
Рейтинг: 0 / 0
Помогите с запросом
    #38453207
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
22Rostislav ,

сколько записей приходится в соотв. таблицах на условия

st.search_tree_id = 10359

и

lta.type_id =31029

?
...
Рейтинг: 0 / 0
Помогите с запросом
    #38453284
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЧего на что переделать и главное -- зачем ?
Читаем ман по оптимизации селектов.
мануалFor each table in a JOIN, a simpler WHERE is constructed to get a fast WHERE evaluation for the table and also to skip rows as soon as possible.
Так вот - я предлагаю проделать это руками ещё на стадии формирования запроса, и не заставлять оптимизатор заниматься этой ерундой (я понимаю, что это микросекунды - но время выполнения тут не главное). При этом код запроса гарантированно получится более вменяемым. Особенно если при этом ещё и соотв. образом отформатировать текст запроса.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38453308
22Rostislav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, я чет не совсем понял как нужно джоины переписать?
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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