Как определяется Кундеид? Было бы полезно увидеть полную схему для обеих таблиц (сгенерированных MySQL, т.е. с индексами), а также вывод EXPLAIN с запросами выше.
Самый простой способ отладить это и выяснить, в чем заключается ваше узкое место, - это начать удалять поля один за другим из запроса и измерить, сколько времени потребуется для его выполнения (не забудьте запустить RESET QUERY CACHE перед выполнением каждого запроса). ). В какой-то момент вы увидите значительное сокращение времени выполнения, а затем вы определили свое узкое место. Например:
SELECT b.name, COUNT(*) AS orders, COUNT(DISTINCT(a.kundeid)) AS leads
FROM katalogbestilling_katalog a, medie b
WHERE a.offlineid = b.id
GROUP BY b.name
может стать
SELECT b.name, COUNT(DISTINCT(a.kundeid)) AS leads
FROM katalogbestilling_katalog a, medie b
WHERE a.offlineid = b.id
GROUP BY b.name
, чтобы исключить возможность "заказов", являющихся узким местом, или
SELECT b.name, COUNT(*) AS orders
FROM katalogbestilling_katalog a, medie b
WHERE a.offlineid = b.id
GROUP BY b.name
для устранения "отведений" от уравновешивания. Это приведет вас в правильном направлении.
обновление : я не предлагаю удалять какие-либо данные из окончательного запроса. Просто удалите их, чтобы уменьшить количество переменных при поиске узкого места. Учитывая ваш комментарий, я понимаю
SELECT b.name
FROM katalogbestilling_katalog a, medie b
WHERE a.offlineid = b.id
GROUP BY b.name
все еще плохо работает? Это ясно означает, что это либо соединение, которое не оптимизировано, либо группа по (которую вы можете проверить, удалив группу с помощью - либо JOIN будет все еще медленным, в этом случае это проблема, которую вам нужно решить, или она не будет - в этом случае это, очевидно, GROUP BY). Можете ли вы опубликовать вывод
EXPLAIN SELECT b.name
FROM katalogbestilling_katalog a, medie b
WHERE a.offlineid = b.id
GROUP BY b.name
а также схемы таблиц (чтобы было легче отлаживать)?
обновление # 2
также существует вероятность того, что все ваши индексы созданы правильно, но у вас неправильно настроена установка mysql, когда речь идет о максимальном использовании памяти или что-то в этом духе, что вынуждает ее использовать сортировку диска.