建站极客
数据库 Mysql 正文
mysql Out of memory (Needed 16777224 bytes)的错误解决
所属分类:
数据库 / Mysql
阅读数:
2073
收藏 0
赞 0
分享
这几天碰到这个错误。 至于我改的这几个值是不是正确的解决方法,目前还不知道。先贴出来。 如果过一段时间我还是没有更新,那以后同志们都参考吧 。 Out of memory (Needed 16777224 bytes)的错误解决 看看手册: [url]http://dev.mysql.com/doc/refman/5.1/en/memory-storage-engine.html[/url] 开始我更改了query_cache_size的值。 好像也不行。 之后 增大query_cache_limit 的值。 还有max_heap_table_size 和tmp_table_size的值。 因为我们的存储过程中用了好多的预处理语句。而且语句的结果都是非常大的。 起初我的结果: mysql> show variables like 'max_heap_table_size'; +---------------------------------+----------------------+ | Variable_name | Value | +---------------------------------+----------------------+ | max_heap_table_size | 16777216 | +---------------------------------+----------------------+ mysql> show variables like 'tmp_table_size'; +---------------------------------+----------------------+ | Variable_name | Value | +---------------------------------+----------------------+ | tmp_table_size | 16777216 | +---------------------------------+----------------------+ 我改了my.cnf文件 mysql> show variables like 'max_heap_table_size'; +---------------------------------+----------------------+ | Variable_name | Value | +---------------------------------+----------------------+ | max_heap_table_size | 67108864 | +---------------------------------+----------------------+ mysql> show variables like 'tmp_table_size'; +---------------------------------+----------------------+ | Variable_name | Value | +---------------------------------+----------------------+ | tmp_table_size | 67108864 | +---------------------------------+----------------------+ 顺便看一下这篇文章中的一段话: http://dev.mysql.com/tech-resources/articles/mysql-query-cache.html Qcache_hits and Qcache_inserts shows the number of times a query was serviced from the cache and how many queries have been inserted into the cache. Low ratios of hits to inserts indicate little query reuse or a too-low setting of the query_cache_limit, which serves to govern the RAM devoted to each individual query cache entry. Large query result sets will require larger settings of this variable. 补充: 今天在手册上看到这段话 http://dev.mysql.com/doc/refman/5.1/en/out-of-memory.html If you issue a query using the mysql client program and receive an error like the following one, it means that mysql does not have enough memory to store the entire query result: 所以我把我的所有存储过程都修改了。 因为里面的预处理语句没有清零。 经过测试。 比如: 里面用到 PREPARE S1 FROM @STMT; ... 一定要 SET @STMT = ''; 不知道这个是不是根本原因。我会再次更新的。 再次证明这样做会减少这种情况。不过下午把所有存储过程修改了。 凡是普通连接的都改为LEFT JOIN 了。通过EXPLAIN建立了相关索引。 而且把版本换成了5.0.45。至于是否还是出现错误。还在继续关注中。。。目前没有任何错误。 这个问题貌似MYSQL官方解决了。 http://bugs.mysql.com/bug.php?id=31898
MySQL中修改表结构时需要注意的一些地方 这篇文章主要介绍了MySQL中修改表结构时需要注意的一些地方,作者援引Percona的相关的说明来讲述如何避免相关操作导致表无法使用的问题,一些需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
详细讲解安全升级MySQL的方法 这篇文章主要介绍了详细讲解安全升级MySQL的方法,在此特别推荐使用Percona Toolkit来辅助升级,当然,本文示例基于Linux环境,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
大幅提升MySQL中InnoDB的全表扫描速度的方法 这篇文章主要介绍了大幅提升MySQL中InnoDB的全表扫描速度的方法,作者谈到了预读取和多次async I/O请求等方法,减小InnoDB对MySQL速度的影响,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
大幅优化MySQL查询性能的奇技淫巧 这篇文章主要介绍了大幅优化MySQL查询性能的方法,作者根据实际运行时间比对分析了InnoDB等几个重要的MySQL性能优化点,极力推荐!需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
12个优化MySQL的技巧小整理 这篇文章主要介绍了12个优化MySQL的技巧小整理,包括表连接和WHERE语句等基本的优化点等内容,已经了解的也不妨加深一下印象,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
在VB.NET应用中使用MySQL的方法 这篇文章主要介绍了在VB.NET应用中使用MySQL的方法,操作基于Visual Studio IDE进行,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
查看更多