2


0

非常に重要な列(日付)にインデックスがないプロダクションテーブルがある場合、ユーザーに影響を与えずにそのインデックスを適用する方法はありますか?

テーブルは現在、毎秒約5〜10の挿入を取得するため、テーブル全体のロックは解除されています。一時的であっても、それらの挿入を代替のテーブル/データベースにリダイレクトすることも拒否されます(企業の政治的理由から)。 他に何かありますか?

1 Answer


2


私の知る限りでは、これはMyISAMでは不可能です。 毎秒5〜10回のINSERTでは、それほど読んでいないのでなければ、InnoDBを検討する必要があります。

レプリケーションを使用していますか?マスター - マスターセットアップでは望ましいですか? その場合は、スタンバイサーバで `CREATE INDEX`し、ロールを切り替えて同じことをしてから元に戻すことができます。 `CREATE INDEX`がアクティブノードに複製されないように、一時的に(master-masterを使うときは)複製を無効にしてください。

そのテーブルを主にログのアーカイブに使用するのかそれとも同様のものに使用するのかに応じて、アーカイブストレージエンジンを調べることもできます。