Tengo un problema con InnoDB (la tabla inicialmente era MyISAM, pero la convertí a InndoB hace un tiempo) tabla; Estoy tratando de ejecutar esta consulta:Archivo de clave incorrecto con MySQL
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
ORDER BY
posts.post_date_db DESC
LIMIT
10;
me sale este error:
Query : SELECT posts.id,posts.post_title FROM rss_posts AS posts INNER JOIN vw_rss_feeds AS feeds ON posts.blog_id=feeds.id WHER...
Error Code : 126
Incorrect key file for table '/tmp/#sql_7375_0.MYI'; try to repair it
No puedo ejecutar una reparación en las tablas involucradas; sin embargo, he ejecutado un CHECK en ambas tablas & que parecen estar bien. También he hecho un OPTIMIZAR en ambas mesas & también reconstruyó las tablas haciendo el siguiente ..
INSERT INTO new_table SELECT * FROM old_table;
entonces a llamarse la nueva tabla al antiguo nombre de la tabla ..... pero todavía estoy teniendo ese problema .
Para tratar & averiguar lo que estaba causando la mesa me quita el código de la consulta que hace referencia la tabla "rss_feeds" .... por lo que ahora la consulta se parece a esto ..
SELECT
posts.id,
posts.post_title
FROM
rss_posts AS posts
ORDER BY
posts.post_date_db DESC
LIMIT
10;
que funcionó.
El problema es algo con la tabla rss_feeds.
Así que pensé que podría convertir la tabla de nuevo a MyISAM & ejecutar una reparación & continuación, convertir de nuevo a InnoDB ..... esto funcionó temporalmente, se volvió a la normalidad .... entonces se rompió de nuevo .. ... lo reparó otra vez, rompió nuevamente ... ahora la reparación no parece funcionar en absoluto.
Ahora, lo sé, lo sé ...... He buscado en Google este problema ya ...... me di cuenta de que la mayoría de las veces el problema es que el espacio no nos lo suficiente en el MySQL temp directory .... pero ya tengo el host para cambiar el directorio temporal a algo con MUCHO más espacio & el problema aún persiste.
Estoy pensando que el HOST es el culpable & TODAVÍA es un problema con el directorio temporal; ¿por qué? Porque después de que volviera a funcionar empecé a agregar datos a la tabla rss_posts de nuevo &, por lo tanto, el JOIN obtendría MAYOR &. MySQL se quedaría sin espacio ... ¿qué opinas?
Gracias - definitivamente hay suficiente espacio en disco disponible; básicamente, el anfitrión dijo que esto .. "La '/ var/tmp' partición utiliza el mismo espacio que '/', y su información de uso es actualmente de la siguiente manera; /dev/sda3 442 g 289 g 32% 130G/ Entonces no deberías ver ningún problema con el espacio ". Aunque me pregunto si quizás el/var/tmp/dir está restringido por sí mismo? Si eso es posible. Entonces, ¿esa pregunta que tiene allí - que básicamente solo recibe las últimas 10 publicaciones de los últimos 30 días? – Brett
Correcto. Puede parametrizar el "30" para hacerlo un poco más amplio. Pero independientemente del espacio disponible en el disco, si está ordenando constantemente las dos tablas para 10 filas, se encontrará con problemas de escalado y rendimiento. –
Sí ... hace un buen punto. ¡Muchas gracias! – Brett