すべてのクエリ/テーブルなどを調整する前に、Webサイトで公開する前に(すでに6か月遅れているため、これは理想的なシナリオではありませんが)、公開する必要があるように見えます。 -そういうことです)。
今では弾丸を噛まなければならない場合です。それは、私たちが「それを噛む」ことになると、その弾丸がどれほど大きくなるかを理解しようとする単なる事例です。データベースがライブになると、ライブデータであるため、気まぐれでデータを変更することはできません。私はほとんどのdbスキーマにかなり自信を持っています。たとえば、テーブルはほとんどの3番目と4番目の正規形であり、データの整合性を確保するために制約が使用されます。私はまた、いくつかの列にいくつかのインデックスを入れましたが、これは非常に急いで行われ、テストされていませんが、クエリで頻繁に使用されます-これは私が心配しているビットです。
明確にするために、私は卸売り構造の変更について話しているのではありません。テーブル自体が変更される可能性はほとんどありませんが(個人的に、または誰かを雇うことによって)、ある段階でテーブルを調整する必要があることはほぼ確実です。
これがどれだけの仕事か知りたいです。具体的には、数ギガバイトのデータベース(これまでのところ約300テーブル)を想定しています。
今後数か月以内にテーブルの50%を調整する必要があると仮定します。
チューニングの実行にはどのくらい時間がかかりますか(これは「弦の一部の長さ」タイプの質問です)-しかし、必要な作業の主な決定要因は何ですか?したがって、どのくらいの時間がかかる可能性があるかを計算できます取った?
インデックスの再作成中にデータベースのセクション(または特定のテーブル)をロックすることは可能ですか、それともデータベース全体をオフラインにする必要がありますか?(私はデータベースとしてmySQL 5.xを使用しています)
私が説明すること(すべてのテーブルが完全に調整される前にライブになる)は、法外に危険/望ましくありませんか?(これまでのところ、これが私を引き起こした眠れない夜の数ヶ月を正当化するのでしょうか)?