私は大きなデータベース(約50GB)を持っています。それは私がほとんど制御することができるサーバー上ですが、私は彼らが夜間にバックアップを行うためにmysqldumpを使用していることを知っています。大きなデータベースでmysqldumpを実行すると長いクエリがハングアップすることがありますか?
私は何時間もの時間がかかります。私はそれを実行するように設定しましたが、実際には終了しません。
バックアップ時間の後、すべてのテーブルにロック要求があります(SHOW OPEN TABLES WHERE in_use> 0;すべてのテーブルがリストされています)。私のクエリから
テーブルはここに何が起こっているのか...他のすべてのテーブルがIN_USE = 1
持っているので、IN_USE = 2を持っていますか? a)マイ・クエリが正常に実行されているため、ダンプの実行がブロックされています。私はちょうど待つべきですか? b)ダンプが原因でサーバがハングしています(おそらくメモリ/ディスクスペースが不足していますか?) c)何か他に何かありますか?
EDIT:使用してMyISAMテーブル
あり非常に有能ではありませんサーバー管理者ですが、私は彼に特定の事柄を尋ねるならば、彼は彼らを行います。彼に何を確認させるべきですか? EDIT
:それはisi_issuesテーブルのすべてのレコードを見て必要とする理由私は実際に理解していない
+----+-------------+-------------+------+--------------------------------------------------------------------------+---------------------------------------+---------+-------------------------------+---------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------------+------+--------------------------------------------------------------------------+---------------------------------------+---------+-------------------------------+---------+-------------+
| 1 | SIMPLE | cited_issue | ALL | NULL | NULL | NULL | NULL | 1156856 | |
| 1 | SIMPLE | cited | ref | isi_articles_id_when_cited,isi_articles_issue_id | isi_articles_issue_id | 49 | func | 19 | Using where |
| 1 | SIMPLE | r | ref | isi_citation_references_article_id,isi_citation_references_id_when_cited | isi_citation_references_id_when_cited | 17 | mimir_dev.cited.id_when_cited | 4 | Using where |
| 1 | SIMPLE | citing | ref | isi_lac_authored_articles_article_id | isi_lac_authored_articles_article_id | 16 | mimir_dev.r.article_id | 1 | |
+----+-------------+-------------+------+--------------------------------------------------------------------------+---------------------------------------+---------+-------------------------------+---------+-------------+
:追加クエリ
SELECT citing.article_id as citing, citing.year, r.id_when_cited, cited_issue.country
FROM isi_lac_authored_articles as citing # 1M records
JOIN isi_citation_references r ON (citing.article_id = r.article_id) # 400M records
JOIN isi_articles cited ON (cited.id_when_cited = r.id_when_cited) # 25M records
JOIN isi_issues cited_issue ON (cited.issue_id = cited_issue.issue_id) # 1M records
は、この内容を説明されては言っています。 issue_idのisi_articles(引用されたもの)とマッチしてはいけませんか?両方のフィールドが索引付けされます。
ここでは分かりにくい種類ですが、これはサーバーの問題であり、バックアップによってリソースが減少する可能性があるようです。私は、www.infobright.orgのような分析データベースをチェックしますが、それを完了するまでに時間がかかります。 –
サーバの管理者に確認するにはどうすればよいですか?私は彼が分析データベースをインストールするとは思わない... – pocketfullofcheese
MyIsam、InnoDB、を使用しているのは、どのような種類のストレージエンジンが最初に見つかるだろう...バックアップは一般的に実行され、あなたのクエリはその時点でクエリのベンチマークを取得します –