アカウントごとに 1 つずつ、同一のテーブル構造 (3 つの InnoDB テーブル) を持つ個別の MySQL スキーマ (別名データベース) に、分離 (およびシャーディング) されたユーザー データを格納するアプリケーションがあります。Amazon RDS を使用してデータを保存しており、現在、RDS インスタンスごとに約 30,000 のスキーマがあります。私の質問は、多数のスキーマに対して MySQL 設定 (または RDS、パラメーター グループ設定) を最適化する方法についてです。
何千もの同一のスキーマを持つ慣行を非難する反射があることを私は知っています。代わりに、インデックス付きの「account_id」列のようなものを持つ単一のスキーマがあることを示唆しています。一般的に言われている議論は、シャード ウォーキングやスキーマの変更によるペナルティがメリットを上回るというものです。私たちの場合、データを分離しておく必要があり、異なるアカウント間の相互作用はありません。
このような状況でパフォーマンスを最大化するには、どのような方法がありますか?