問題タブ [myisam]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - テーブルが MyISAM から InnoDb に変更されるのはいつですか?
この質問は、以前の質問の続きのようなものです: InnoDb は MyISAM よりも頻繁な同時更新と挿入に適しているというのは正しいですか?
しかし、今回は具体的な質問があります。
多くの同時更新 (挿入) がない場合、MyISAM は InnoDb よりも高速であることがわかっています。多くの同時更新があると、MyISAM テーブルがロックされ、他のすべてのクライアントが待機する必要があります。
1) しかし、いつ MyISAM から InnoDb に変更するのですか? 毎秒1更新?毎秒10回更新?毎秒100回の更新?
2) 具体的な例として、(異なるセッションから) 通常は 1 分あたり数回の更新がある私の Web サイトのテーブルの 1 つを InnoDb に変更した方がよいでしょうか?
mysql - MySQL外部キーの問題
私のクライアントは最近、自分のマシンをフォーマットし、MySQLサーバーと私のアプリケーションを再インストールしました。彼は、マスターテーブルからレコードを削除しても子テーブルには影響しないと不満を漏らしました。私は彼にデータベースのバックアップを送るように頼んだ。データベースを復元したところ、テーブルエンジンがMyISAMに変更されたのに対し、InnoDBに設定されていたことがわかりました。
プライマリテーブルに存在しないレコードを子テーブルから削除しました。この後、外部キーインデックスを再設定していないと、「外部キー制約に失敗しました。エラー1005」というエラーが表示され、場合によっては150というエラーが表示されます。
プライマリテーブルまたは子テーブルのいずれかに残っている可能性のある行を再確認しましたが、何も機能していないようです。
主テーブルには、主キーを組み合わせて形成する2つの列があります。列は次のとおりです。BillNo、BillDate。
手伝ってください。
mysql - myisamからinnodbへの変換
myisammysqlデータベースをinnodbに変換しようとしています。私はこれをどのように行うか、あるいはそうすべきであるとしても、相反する考えを思いついているようです!あなたの考えは何ですか?
mysql - 予期しない MySQL テーブル エンジンの変更?
ファイルからmysqlコマンドラインアプリにコピーして貼り付けることにより、MySQLデータベースにテーブルを追加しています。私の手順は、ファイルから CREATE TABLE ステートメントをコピーして開発データベースに貼り付け、別のマシンのテスト データベースにも貼り付けることです。test データベースを使用しているのは私だけです。CREATE TABLE ステートメントで Engine=InnoDB を指定しています。テスト データベースでは InnoDB が有効になっています。
最近、別の開発者が、テスト データベースのテーブルがすべて MyISAM テーブルであることを発見しました。ファイルを確認しましたが、すべて「Engine = InnoDB」と表示されています。開発データベースを確認しました。テーブルは Engine=InnoDB です。
テスト データベースが InnoDB に問題がないことを証明するために、すべてのテーブルでエンジンを InnoDB に設定するために ALTER TABLE を実行しました。
コピー & ペーストまたはその他のばかげた間違いを犯したことを願っています。しかし、すべてのテスト テーブルが MyISAMであるというのは奇妙に思えます...確かに、私は自分の間違いとそれほど一貫していることはできません。すべてのバックアップと復元は mysqldump で行われています。
エンジンを誤って変更する方法はありますか?
mysql - myISAMをinnodbに変換できません
ワイプして復元しました。
- 現在のinnodbテーブルをバックアップしました。(mysqldump)
- データベースにロードしました。
- 何らかの理由で...テーブルはすべてinnodbではなくmyisamになりました...奇妙です!
私はしようとします:
ALTER TABLE xxx ENGINE = innodb;
そして、それはどのテーブルにも何もしません。
「テーブルステータスの表示」は引き続き「MyISAM」です
mysql - MySQL はどのように行をディスクに保存しますか?
MySQL がディスクにデータを保存する方法、特に InnoDB と MyISAM に関するドキュメントを探しています。
私は大学でデータベースのコースを取りました (そして原始的なデータベースを書きました) ので、一般的な考えを持っています。
ここで、さまざまなタイプがどのように行に格納されているか、行がどのようにディスクに格納されているかについて、たくさんの質問をすることもできますし、システム全体を非常に詳細に説明して、それをどのように構築するかを尋ねることもできますが、レコードを保存する方法を学ぶだけで、はるかに少ない帯域幅で自分でそれを理解できるようになります.
これはどこか (ソース コード以外) に文書化されていますか?
ありがとう!
sql - MySQL MyISAM テーブルのロック
レコードが削除されると、MySQL MyISAM テーブルはロックされますか?
mysql - MySQL バックアップ: 個々の MyISAM テーブル ファイルを、MySQL バージョンと OS が異なる別のサーバーにコピーできますか?
つまり、個々の MyISAM テーブル ファイルをコピーすることは:
(mysqld をシャットダウンし、.frm、.myd、および .myi ファイルをあるデータベース フォルダーから別のデータベース フォルダーにコピーします)
質問:
(a) この方法を使用して、MySQL データベース フォルダーを別のフォルダーからバックアップできますか?サーバーから、MySQL バージョンが異なる別のサーバーへ?
(b) このバックアップ ファイルを別の OS に移動できますか? (例: debian から centos)
mysql - MyISAMよりもMySQLInnoDBを常に優先する必要がありますか?
InnoDBはMyISAMよりもはるかに優れていると誰かが私に言った。したがって、テーブルを作成するときは、常にMyISAMではなくInnoDBエンジンを使用する必要がありますか?それとも、両方に大きなメリットがありますか?
mysql - 1 つのデータベースで InnoDB と MyISAM テーブルを使用できますか?
明らかに、どちらにも利点があります。MyISAM は高速ですが、簡単に破損する可能性があります。InnoDB は低速ですが、トランザクションと外部キーのおかげでより安定しています。したがって、両方のエンジンを 1 つのデータベースに混在させるとよいでしょう。それが可能なら?