错误:MySQL客户端内存不足

时间:2016-12-04 17:16:36

标签: mysql memory

任何人都可以告诉我这个错误...

该数据库有40,000个新闻报道,但只有字段'故事'很大, '老'是数字值0或1, '标题'和'短篇小说'很短或很短。

任何建议表示赞赏。这是运行搜索数据库查询的结果。

Error: MySQL client ran out of memory 
Statement: SELECT news30_access.usehtml, old, title, story, shortstory, news30_access.name AS accessname, news30_users.user AS authorname, timestamp, news30_story.id AS newsid FROM news30_story LEFT JOIN news30_users ON news30_story.author = news30_users.uid LEFT JOIN news30_access ON news30_users.uid = news30_access.uid WHERE title LIKE ? OR story LIKE ? OR shortstory LIKE ? OR news30_users.user LIKE ? ORDER BY timestamp DESC 

1 个答案:

答案 0 :(得分:1)

简单的答案是:不要在story子句中使用SELECT

如果您想要故事,请限制返回的结果数量。例如,通过添加以下内容开始,即100个结果:

limit 100

到查询结束。这将获得100个最新的故事。

我还注意到您使用like story以及其他字符串列。您可能希望将match与全文索引一起使用。这并不能解决您的直接问题(即向客户端返回过多数据)。但是,它会使您的查询运行得更快。

要了解全文搜索,请从documentation开始。