0

今まで、私は常にphpでID(varchar 32主キー)を次のような関数で生成することにより、mysqlデータベースにレコードを保存していました。

$id = substr( str_shuffle( abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ), 0, 8 );

しかし、これまで mysql DB では常に utf8_bin (大文字と小文字を区別する) を使用してきましたが、現在は utf8_general_ci (大文字と小文字を区別しない) を使用しています。

DB に統計を格納するテーブルがあります。このテーブルには何百万ものレコードがあります。

この場合、主キーとして「id int unsigned autoincrement」を使用することをお勧めしますか?

はいの場合、多くのユーザーが同時にsciprtを呼び出すと、スクリプトが「重複ID」エラーでクラッシュする可能性はありますか? どうすればそれを回避できますか?

4

3 に答える 3