当前位置:七道奇文章资讯数据防范MySQL防范
日期:2012-07-30 15:20:00  来源:本站整理

mysql Out of memory (Needed 16777224 bytes)的错误办理[MySQL防范]

赞助商链接



  本文“mysql Out of memory (Needed 16777224 bytes)的错误办理[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
这几天碰到这个错误.
至于我改的这几个值是不是精确的办理办法,目前还不知道.先贴出来.
假如过一段时间我还是没有更新,那今后同志们都参考吧 .
Out of memory (Needed 16777224 bytes)的错误办理
看看手册:
http://dev.mysql.com/doc/refman/5.1/en/memory-storage-engine.html
开始我更改了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 Out of memory (Needed 16777224 bytes)的错误办理[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 搭配 IIS7 PHP MySQL 环境
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • mysql数据库插入速度和读取速度的调整记录
  • MySQL Order By索引优化办法
  • MySQL Order By用法分享
  • mysql #1062 –Duplicate entry ''1'' for key ''PRIMARY''
  • MySQL Order By Rand()效率解析
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        100%(2)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .