「ほとんどのUUIDは役に立たず、スペースを浪費している」という懸念は、データ型のサイズに固有のものです。理論上の制限である16バイトが許す限り、データベースに多くのエントリを含めることはできません。
実際、V1 UUIDは、テーブルIDとしてUUIDを使用する場合、V4よりも適しています。これは、衝突を防ぐためにMACアドレスとタイムスタンプを使用するためです。 V4にはそのようなメカニズムはありませんが、実際には衝突についてあまり心配する必要はありません:) UUIDを予測できないようにする必要がある場合は、V1ではなくV4UUIDを使用する必要があります。
また、たとえば4x4バイトのランダム値を作成することは、16バイトのランダム値を作成することと同じではない場合があることに注意してください。暗号化とランダム性の場合と同様に、独自のUUID::V4ルーチンを実装することはお勧めしません。
マシンにインストールされている場合は、php-uuid
を利用できます。 パッケージ。
サンプルコード(アプリケーションでそのまま使用できます)は次の場所にあります: http://rommelsantor.com/clog/2012/02/23/generate-uuid-in-php/
次のように使用します:
$uuid = uuid_create(1);
Webサーバーにパッケージをインストールできるユーザーは、次のように必要なパッケージをインストールできます:(ここではubuntuの場合)
apt-get install php5-dev uuid-dev
pecl install uuid