重複登録を防止するために
1)ロックをかけてその間にプログラムで検索する
2)MySQLのユニークキーを用いる
の2案を考えています。

この場合、
1)ではタイムアウトのおそれがあります。
2)では同じタイミングで複数からコネクトされたときに重複するおそれはないのでしょうか?
  MySQL側で対応してくれるのでしょうか?

初歩的なことで悩んでいます。
よろしくお願い致します。