mySQL で myISAM テーブルを実稼働環境で実行しています。いくつかのテストを行った結果、特定の複合インデックスを追加することでクエリを大幅に高速化できることがわかりました。ここまでは順調ですね。ただし、テーブルを長時間ロックせずに実稼働環境にこのインデックスを追加する最良の方法については、実際にはわかりません (27 GB のデータがあるため、それほど多くはありませんが、しばらく時間がかかります)。
ヒントはありますか?もちろん、これがより洗練されたセットアップである場合は、別のマシンにすべてのデータのライブ レプリカがあり、安全に切り替えることができます。残念ながら、私たちはまだそこに達していません。できるだけ早くこのクエリを高速化したいと考えています (これは、顧客の大きな頭痛の種になっています)。データをレプリケートしてからスワップアウト トリックを実行する簡単な方法はありますか? 私が見逃している他のトリックはありますか?
更新: SQL Server の「オンライン インデックス操作」について読むと、とてもうらやましくなりますhttp://msdn.microsoft.com/en-us/library/ms191261.aspx :)
ありがとう!