Jde o to, že MySQL provádí ORDER BY vytvořením dočasné tabulky ze spojení dvou tabulek. Dočasná tabulka je příliš velká na to, aby se vešla do paměti, takže MySQL vytvoří dočasný soubor.
Existuje několik věcí, které by bránily správnému fungování. Surový diskový prostor je jeden. ulimit je další. Pokud je toto hostováno, může mít kvótu na využití vašeho disku (kromě ulimit).
Navrhoval bych přidat do vašeho dotazu omezující klauzuli. V současné době načítáte celé rss_posts a rss_feeds do dočasné tabulky pro třídění. Pokud chcete pouze posledních 10, je to mnohem více dat, než skutečně potřebujete.
SELECT posts.id, posts.post_title
FROM rss_posts AS posts INNER JOIN rss_feeds AS feeds ON posts.blog_id=feeds.id
WHERE feeds.blog_language=1
AND posts.post_data_db > (now - interval 30 day);
ORDER BY posts.post_date_db DESC LIMIT 10;