- ベストアンサー
稼動中サーバにプライマリキーを貼る場合の注意点について
環境:MySQLのバージョンは5.1でInnoDBを使用しています。 システム稼動中に7万件のデータがあるテーブルに対し、 多くのSELECTが走っている状態でプライマリーキー貼っても 問題ないでしょうか? 又、INSERTやUPDATEが走っている状態で、 プライマリーキーを張るとデッドロックや ロック時間が長くなるなどの弊害はあるでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
7万件くらいであれば、MySQLなら SELECTは問題ないと思いますが、 更新系も同時に、となると、 あとあと不都合なデータが出たとしても 「ああ、やはりまずかったか」と、なる可能性もあるかもしれません。 サーバーの性能とか、システムの創りにもよりますので 過密アクセス時は避けたほうが無難と思います。 まあ、中には「えいや」でやってしまう人もいますが。 何十分もかかる作業ではないので、出来れば一旦休止状態で、 が普通の答えではないでしょうか。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.2
プライマリキーを設定する理由がわからないとなんとも・・・ プライマリーキーの有効性はデータの特定にありますので 7万件のデータが支障なく稼動しているのであれば 後からプライマリーを設定する必要もないかと。 単にインデックスだけではいけないでしょうか? (たぶん何らかのデータでユニーク処理はしているでしょうし)