mysql Out of memory(Need 16777224 bytes)のエラー解決

3237 ワード

この数日間このエラーに遭いました。私が直したこれらの値は正しい解決方法かどうかはまだ分かりません。まず貼り付けてくださいしばらく経っても更新していないなら、後で皆さんが参考にしてください。Out of memory(Need 16777224 bytes)のエラー解決はマニュアルを見てください。http://dev.mysql.com/doc/refman/5.1/en/memory-storage-engine.html始めにquery_を変更しました。cachesizeの値だめみたいですその後スクィックを増大させますcachelimitの値max_もありますヘアプ.テーブルsizeとtmp_テーブルsizeの値私たちの記憶の中で多くの前処理文が使われていますから。そして語句の結果は非常に大きいです。最初の結果:mysql>show variables like'max_ヘアプ.テーブルsize';+--------------------------------------------------------------------------------------------------------------------------------------Varable_name|Value+--------------------------------------------------------------------------------------------------------------------------------------------------------ヘアプ.テーブルsize?16777216|+------------------------------------------------------------------------------------mysql show variables like'tmp_テーブルsize';+--------------------------------------------------------------------------------------------------------------------------------------Varable_name|Value+--------------------------------------------------------------------------------------------------------------------------------------------------------テーブルsize?16777216|+----------------------------------------------------------------私はmy.cnfファイルmysqlを変えました。show variables like'max_ヘアプ.テーブルsize';+--------------------------------------------------------------------------------------------------------------------------------------Varable_name|Value+--------------------------------------------------------------------------------------------------------------------------------------------------------ヘアプ.テーブルsize?6710864|+--------------------------------------------------------------------------------------mysql show variables like'tmp_テーブルsize';+--------------------------------------------------------------------------------------------------------------------------------------Varable_name|Value+--------------------------------------------------------------------------------------------------------------------------------------------------------テーブルsize?6710864|+--------------------------------------------------------------------+ついでにこの文章の一節を見てみます。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 beve been inserted into the cache.Low ratits of inserts to indicate little querycachelimit、which serves to govern the RAM devoted to each individual query cache entry.Large query 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 followwing one、it means that mysql does not have enough memory to store the entire query result:だから私は私の記憶過程を全部修正しました。中の前処理文がクリアされていないからです。テストをしました例えば、PREPARE S 1 FROM@STMTを使っています。必ずSET@STMT=';これが根本的な原因かどうかは分かりません。また更新します。このようにするとこのような状況が減ることを改めて証明します。しかし、午後はすべての保存過程を修正しました。普通に接続するものはすべてLEFT JOINに変更されました。EXPLANを通じてインデックスを作成しました。そしてバージョンを5.0.45に変えました。まだ間違いがあるかどうか。まだまだ注目しています。。今は何の間違いもありません。この問題はMYSQL公式で解決されたようです。http://bugs.mysql.com/bug.php?id=31898