0


ねえ、
私たちの mysql (RH5.8 上の 5.1) サーバーの 1 つを調整して、10K を超えるテーブルを処理する必要があります。ファイルが必要です。

my.cnf ファイルに追加した唯一のものはtable_open_cache=20000

私は InnoDB ストレージ エンジンを使用していますが、クエリ キャッシュは使用していません。
私が見逃しているものは他にありますか?

ありがとう

4

1 に答える 1

2

InnoDBは、デフォルトですべてのテーブルを1つのファイルに格納するため、テーブルを大きくする場合は、ファイルサイズのOS制限に達する可能性があります。それ以外の場合は、テーブルの数が多くても問題やパフォーマンスの問題は発生しません。大量のデータを保存する場合は、OSのファイルサイズ制限を確認し、innodb_file_per_table各テーブルが独自のファイルに入るようにオプションを使用する必要があるかどうかを確認してください。

現在の状態から10k以上のテーブルが必要になるまで、その数のテーブルを処理するためだけに特定の構成を変更する必要はありません。

次のInnoDBトピックに関するMySQLリファレンスマニュアルを読むことをお勧めします:構成ディスクI / Oとファイルスペースの管理チューニング、および制限これらのセクションの情報に基づいて構成またはアプリケーションを変更する必要があるかどうかを確認します。おそらく最も価値のあるセクションはチューニングセクションでしょう。

妥当なサイズに成長する多数のテーブルを作成および削除することを計画している場合は、テーブルスペースの断片化を少なくするために、テーブルごとのファイルオプションを使用することをお勧めします。

他の人が言っているように、10〜15,000のテーブルを必要としないようにデータを構造化する方法があるかもしれませんが、適切なインデックスを使用して、そのテーブルデータの多くを単一のテーブルに入れることができます。何を保存しているのか、なぜ多くのテーブルが必要なのかを知らずに言うことは不可能です。お役に立てば幸いです。

于 2012-09-11T22:21:00.917 に答える