国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql Out of memory (Needed 16777224 bytes)的錯誤解決

2024-07-24 13:02:24
字體:
來源:轉載
供稿:網友
這幾天碰到這個錯誤。
至于我改的這幾個值是不是正確的解決方法,目前還不知道。先貼出來。
如果過一段時間我還是沒有更新,那以后同志們都參考吧 。
Out of memory (Needed 16777224 bytes)的錯誤解決
看看手冊:
[url][/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 |
+---------------------------------+----------------------+

順便看一下這篇文章中的一段話:


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.

補充:
今天在手冊上看到這段話


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官方解決了。
?id=31898
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 保山市| 阜新市| 剑阁县| 博客| 汉沽区| 翼城县| 崇左市| 锦州市| 历史| 富蕴县| 马鞍山市| 合山市| 石狮市| 凤阳县| 汉沽区| 延安市| 凤冈县| 汶上县| 东辽县| 永胜县| 鄂尔多斯市| 应用必备| 年辖:市辖区| 双柏县| 巴林右旗| 黄陵县| 道孚县| 山阴县| 宁波市| 晋城| 女性| 白朗县| 金昌市| 文山县| 炎陵县| 密山市| 合川市| 西安市| 阿拉尔市| 庐江县| 民权县|