1

WordPress マルチサイトのメイン Web サイトで、投稿またはウィジェットを更新しようとするとエラーが発生しました。サイトをデバッグ モードにすると、多くのエラーが見つかりました: The table is full for query UPDATE or INSERT as:

  • WordPress データベース エラー テーブル 'wp_1_options' がクエリ UPDATE でいっぱいです
  • WordPress データベース エラー テーブル 'wp_1_comments' がクエリ INSERT でいっぱいです

そして、これらのエラーテーブルの内容を確認した場合、db の各テーブルには 3MB しか含まれていないように思われます。

私は自分のワードプレス サイトでデータベース プラグインを使用してデータベースをチェックしていますが、それらのほとんどの「オーバーヘッド」サイズが 3MB であることがわかりました。

上記の情報の正確な問題は何ですか? どうすれば解決できますか?Overhead とはどういう意味ですか? そのオーバーヘッドの問題をどのように解決できますか?

4

2 に答える 2

1

この問題は、質問で述べたのと同じ方法で解決しました: ERROR 1114 (HY000): The table is full

ホストに変更を依頼しました:

innodb_data_file_path = ibdata1:10M:autoextend:max:512M

それはすでに私の問題を解決しました。

于 2012-07-03T09:04:35.527 に答える
0

私が最近発見したように、あなたの質問は実際にはMySQLでは不可能です。カーソルは、残りの宣言とともにストアド プロシージャの先頭で宣言されます。MySQL の解析エンジンは、条件付き変数の宣言をすべてまたはまったく管理できません。

これを回避できる次のハックを思いつきました。これは、必要なすべてのカーソルを個別に宣言したことです。私は2つしか持っていなかったので、これはクレイジーではありませんでした:

DECLARE curs CURSOR FOR SELECT DISTINCT(user_id), applied_at FROM application WHERE job_id = JOB_ID_INPUT ORDER BY applied_at DESC;
DECLARE curs_all CURSOR FOR SELECT user_id, applied_at, job_id FROM application WHERE 1 ORDER BY applied_at DESC;

何百もの条件付きで作成されたカーソルを作成する予定がある場合は、MySQL でタスクを達成する別の方法を見つけるか、それができない場合は別のツールを見つけることをお勧めします。幸運を。

詳細については、こちらをご覧ください: http://dev.mysql.com/doc/refman/5.0/en/cursors.html

于 2013-06-20T17:14:18.250 に答える