2

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

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

4

1 に答える 1

2

私の知る限り、これは MyISAM では不可能です。1 秒あたり 5 ~ 10 回の INSERT がある場合は、あまり読んでいない場合を除き、とにかく InnoDB を検討する必要があります。

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

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

于 2009-03-10T20:15:30.000 に答える