Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nieprawidłowy plik klucza w MySQL

To, co się tutaj dzieje, to to, że MySQL wykonuje ORDER BY, tworząc tabelę tymczasową z połączenia dwóch tabel. Tabela tymczasowa jest zbyt duża, aby zmieścić się w pamięci, więc MySQL tworzy plik tymczasowy.

Jest kilka rzeczy, które uniemożliwiłyby to poprawne działanie. Surowe miejsce na dysku to jedno. ulimit jest kolejnym. Jeśli to jest hostowane, mogą mieć przydział wykorzystania dysku (oprócz ulimit).

Sugerowałbym dodanie do zapytania klauzuli ograniczającej. Obecnie ładujesz wszystkie rss_posts i rss_feeds do tabeli tymczasowej w celu sortowania. Jeśli chcesz tylko najnowszych 10, to jest o wiele więcej danych, niż naprawdę potrzebujesz.

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. PHP 7.2.2 + mysql 8.0 PDO daje:metodę uwierzytelniania nieznaną klientowi [caching_sha2_password]

  2. Django manage.py rzucanie syncdb Brak modułu o nazwie MySQLdb

  3. Skuteczne monitorowanie MySQL za pomocą pulpitów nawigacyjnych SCUMM:część pierwsza

  4. Jak zachować unikatowe wartości kolumny w MySQL?

  5. Wstaw wartość dynamicznego pola wyboru w bazie danych Mysql i pokaż wiadomość o przesłaniu danych