• ベストアンサー

稼動中サーバにプライマリキーを貼る場合の注意点について

環境:MySQLのバージョンは5.1でInnoDBを使用しています。 システム稼動中に7万件のデータがあるテーブルに対し、 多くのSELECTが走っている状態でプライマリーキー貼っても 問題ないでしょうか? 又、INSERTやUPDATEが走っている状態で、 プライマリーキーを張るとデッドロックや ロック時間が長くなるなどの弊害はあるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • id357
  • ベストアンサー率29% (39/133)
回答No.1

7万件くらいであれば、MySQLなら SELECTは問題ないと思いますが、 更新系も同時に、となると、 あとあと不都合なデータが出たとしても 「ああ、やはりまずかったか」と、なる可能性もあるかもしれません。 サーバーの性能とか、システムの創りにもよりますので 過密アクセス時は避けたほうが無難と思います。 まあ、中には「えいや」でやってしまう人もいますが。 何十分もかかる作業ではないので、出来れば一旦休止状態で、 が普通の答えではないでしょうか。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

プライマリキーを設定する理由がわからないとなんとも・・・ プライマリーキーの有効性はデータの特定にありますので 7万件のデータが支障なく稼動しているのであれば 後からプライマリーを設定する必要もないかと。 単にインデックスだけではいけないでしょうか? (たぶん何らかのデータでユニーク処理はしているでしょうし)

関連するQ&A