Mysql
 sql >> база данни >  >> RDS >> Mysql

Неправилен ключов файл с MySQL

Това, което се случва тук, е, че MySQL прави ORDER BY чрез изграждане на временна таблица от съединяването на двете таблици. Временната таблица е твърде голяма, за да се побере в паметта, така че MySQL създава временен файл.

Има няколко неща, които биха попречили на това да работи правилно. Необработеното дисково пространство е едно. ulimit е друго. Ако това се хоства, те може да имат квота за използване на вашия диск (в допълнение към ulimit).

Бих предложил да добавите ограничителна клауза към вашата заявка. В момента зареждате целия rss_posts и rss_feeds във временната таблица за сортиране. Ако искате само най-новите 10, това е много повече данни, отколкото наистина имате нужда.

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;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на Like в MySQL за операции за търсене с помощта на шаблон

  2. Регистърът на буквите е чувствителен RLIKE

  3. Как да отрежа водещия и задния цитат от MySQL ред?

  4. Сума до определен момент - MySql

  5. MySQL логически оператори