42 GBのテーブルがメモリに収まらなくなると、間違いなく問題が発生し始めます。実際、メモリに収まらなくなるとすぐに、パフォーマンスが非常に急速に低下します。テストする1つの方法は、RAMの少ない別のマシンにそのテーブルを配置し、パフォーマンスがどれほど低いかを確認することです。
これは正しくありません。パーティショニング(MySQL 5.1の機能、またはMERGEテーブルを使用した同じ機能のいずれかによる)は、テーブルが同じドライブ上にある場合でも、パフォーマンスを大幅に向上させることができます。
例として、日付範囲を使用して大きなテーブルでSELECTクエリを実行しているとします。テーブルが全体である場合、クエリはテーブル全体をスキャンするように強制されます(そして、そのサイズでは、インデックスを使用しても遅くなる可能性があります)。パーティショニングの利点は、クエリが絶対に必要なパーティションでのみ実行されることです。各パーティションのサイズが1GBで、クエリがそれ自体を満たすために5つのパーティションにアクセスするだけでよい場合、結合された5 GBのテーブルは、モンスターの42GBバージョンよりもMySQLで処理するのがはるかに簡単です。
自問する必要があることの1つは、データをどのようにクエリするかです。クエリが特定のデータチャンク(つまり、日付範囲またはID範囲)にのみアクセスする必要がある可能性がある場合は、何らかのパーティション化が有益であることがわかります。
特にMySQLが正しいキーを選択することに関連して、MySQL5.1のパーティショニングにはまだバグがあると聞きました。 MERGEテーブルは同じ機能を提供できますが、少し多くのオーバーヘッドが必要です。
お役に立てば幸いです...幸運を祈ります!