sql >> データベース >  >> RDS >> Mysql

MySQLのUUIDバージョン1関数の代わりになりますか?

    「ほとんどの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
    


    1. MySQLコネクタ/Python-Python変数をMySQLテーブルに挿入します

    2. 既存のチェック制約を変更する方法は?

    3. sqlplus現在接続されているデータベースセッションの詳細を見つける方法

    4. 更新/削除を無効にし、トリガーがそれらを実行できるようにする方法はありますか?