Учитывая запрос приводится к виду:Регистрация производительности: Oracle против MySQL
select b.field1
from table_a a
inner join table_b b on b.field1 = a.field1
left join table_c c on c.field1 = a.field1
left join table_d d on d.field1 = b.field1
left join table_e e on e.field1 = b.field6
group by b.field1,
b.field2,
b.field3,
b.field4,
b.field5,
e.field2,
e.field3
;
с определенным количеством данных он работает в течение 20 секунд в Oracle. В Oracle ничего не индексируется. Мигрированный в MySQL запрос не хочет заканчиваться (выполняется за считанные минуты). Каждая область, о которой идет речь, индексируется в MySQL. Explain
говорит, что все в порядке.
По-прежнему не работает, поля группировки получили индексы с несколькими столбцами. Еще ничего.
В чем может быть проблема, что по-прежнему существует большая утечка в производительности MySQL? Есть ли способ ускорить его?
Не могли бы вы также подтвердить, что инфраструктура в обоих тестах одинакова? – Sebas
Да, это то же самое. Кроме того, я помещаю поле в выборку, потому что в противном случае он выбросил ошибку в Oracle (Pl/SQL). Я просто хотел уменьшить запрос настолько, насколько мог. – user1433877
мой друг не все характеристики идут с индексом, также идут двигатель, кеш, буфер и т. Д. – jcho360