Я использую MySQL с движком INNODB на машине DigitalOcean.Машина имеет 4 ГБ памяти, 80 ГБ ДИСКА и 2 vCPU и работает на Ubuntu 16.04.
У нас есть запрос, который объединяет три таблицы, которые выполняются очень медленно (возврат занимает около 5 минут, если он вообще работает).Размер таблиц составляет 6 миллионов, 20 миллионов и 100 тысяч строк соответственно, , и в таблицах для каждой строки есть уникальные индексы.
Запрос выглядит следующим образом:
SELECT *, table2.column1
FROM table1
INNER JOIN table2 on table1.column1 = table2.column1
INNER JOIN table3 on table1.column2 = table3.column1
WHERE table3.column2 == "{ID}";
Мы хотим встроить этот запрос в конвейер обработки / анализа данных, который динамически вытягивает соответствующие данные в память, а затем выполняет дальнейший анализ с использованием R.с этой целью нам нужно сделать этот запрос [или альтернативу, которая делает то же самое] более эффективным.
У кого-нибудь есть идеи относительно того, как сделать этот запрос более эффективным, или каковы причины этого замедления?Любая помощь будет принята с благодарностью,
Большое спасибо!