我的網站突然開始吐出以下錯誤:更有效的寫入MySQL查詢的方式?
"Incorrect key file for table '/tmp/#sql_645a_1.MYI'; try to repair it"
我將其刪除,該網站工作正常。
我的服務器技術支持人建議我清理查詢並使其更高效。
這裏的查詢:
SELECT *, FROM_UNIXTIME(post_time, '%Y-%c-%d %H:%i') as posttime
FROM communityposts, communitytopics, communityusers
WHERE communityposts.poster_id=communityusers.user_id
AND communityposts.topic_id=communitytopics.topic_id
ORDER BY post_time DESC LIMIT 5
任何幫助是極大的讚賞。也許可以通過JOIN來完成?
非常感謝,
斯科特
更新:這裏的工作查詢,我感覺還是可以,雖然優化。
SELECT
communityposts.post_id, communityposts.topic_id, communityposts.post_time,
communityusers.user_id, , communitytopics.topic_title, communityusers.username,
communityusers.user_avatar,
FROM_UNIXTIME(post_time, '%Y-%c-%d %H:%i') as post time
FROM
communityposts,
communitytopics,
communityusers
WHERE
communityposts.poster_id=communityusers.user_id
AND communityposts.topic_id=communitytopics.topic_id
ORDER BY post_time DESC LIMIT 5
運行myisamcheck,它可能會被損壞,或者你正在運行過程中出現一個相當老版本的mysql – Jauzsika
使用'JOIN's而不是與'WHERE'語句交叉連接。 – mellamokb
關鍵的posttime(第1行)與post_time(第5行)應該是相同的關鍵嗎? –