2017-05-08 11 views
0

システムタイプの存在しないのWindows Server 2008 R2エンタープライズ
をMicrosoft Windows Server:6.1
のMySQL Workbenchのバージョン:6.3

私はマルチサイトワードプレスを管理し、それは33,000のテーブルに成長したので、それは本当に遅くなっています。だから私はインストールを最適化しようとしています。私はDEVサーバーで作業していて、サイト全体を削除してしまいました。ライブサーバをコピーすることは現時点では選択肢ではないと考えており、そうでないと私に信じてください。

ライブサーバからハイライト表示されコピーされたテーブルを貼り付けますDEVサーバーのフォルダ。 Workbenchはスキーマ領域のテーブルを認識しますが、SELECTクエリを書くとき、Innodbテーブルに対しては存在しないと言います。ただし、MyISAMテーブルは正常に実行されます。

私はテーブルが正しいフォルダにあることを知っているが、なんらかの理由でクエリを実行しないので、ちょっと混乱している。私は、通常のクエリを使用してテーブルを作成してフォルダ内に上書きするというソリューションを見ましたが、33,000個のテーブルがあるため、これは現実的ではありません。これらのInnodbテーブルを再び稼働させるにはどうすればいいですか?InnoDBテーブルは、

答えて

0

You ファイルシステムを介して個々のInnoDBテーブルをコピーできません。

"トランスポータブル表領域"を使用すると、そのようなことができます。使用しているのMySQLバージョンのドキュメントを参照してください。 (これはで、Workbenchと同じバージョンではありません。です)

これは賢明ではありませんが、代わりにmysqldumpまたはxtrabackupのようなダンプ/ロードメカニズムを使用してください。

WordPressには、33,000個のテーブルにアクセスできるという設計上の欠陥があります。これにより、すべてのファイルが含まれているため、OSに負荷がかかります。

InnoDBに移行する際には、慎重にinnodb_file_per_tableの選択をすることをお勧めします。その考えには、使用しているMySQL、テーブルの大きさ、および "トランスポータブルテーブルスペース"を使用するかどうかが関係します。

私はWPでインデックスを変更するための強力な推奨事項があります:http://mysql.rjweb.org/slides/cook.pdfのスライド63を参照してください。多くのクエリのパフォーマンスが向上します。

関連する問題