2012-01-25 4 views
2

私はこの質問は私が正確な答えを得るつもりではないことを理解しています。私はボールパークの数字に行くよ。Mysql:列またはインデックスの追加時間を合理的に予測してください。

私は基本的に、この質問に答える方法が必要です。この列またはインデックスを追加すると、テーブルを1分、10分、および時間+にロックしますか?これが実装であるかどうかを知る必要がある理由は、サービスの中断をクライアントに知らせるか、ピーク時に行うことができるかどうかを私たちに要求することになります。

私は理想的になど、現在のシステム負荷、私は、このようなマシンのパフォーマンスとして明らかでないものに注目したいと思い、

を、このような問題に関与する因子が多いが、実現以下のようなある種の正式:

(Number of Rows) * (0.01 Secs) * (Some unknown factors) = 112.secs

はまた、インデックスの列を追加することとの間に実質的な違いはありますか? 追加する列の種類はどうですか?

別の言い方をすると、変更ステートメントが遅いか遅いかを判断する上で最大の要因は何ですか?

答えて

3

ここでの最適なアプローチは、同じデータセットを持つ同様のハードウェア上にデータベースのステージングコピーを作成することです。夜間バックアップから生成するのが理想的です。

次に、スキーマ変更を恐れることなく試してみて、どれくらい時間がかかるかを大まかに知ることができます。もちろん、ロード中のデータベースは、ロードされていないデータベースよりも時間がかかります。この問題を解決するには、スキーマの変更を試行しながら共通のアプリケーション操作を実行するステージングデータベースに対していくつかの負荷テストスクリプトを実行できます。

+0

私はあなたの権利を考えます。 mysqlデベロッパーを持っていないと、良い公式を得ることが難しく、これはまだボールパークを与えます。それはより多くの仕事だが、何よりも優れている – SeanDowney

関連する問題