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

一意のvarcharフィールドと一意のbigintのMySQLパフォーマンス

    16進値はGUIDですか?以前はインデックスなどの長いアイテムのパフォーマンスについて心配していましたが、最近のデータベースでは、数百万のレコードでさえパフォーマンスの違いはかなり重要ではないことがわかりました。

    潜在的に大きな問題は、インデックスが消費するメモリです(たとえば、16バイトと4バイトのint)が、私が制御するサーバーでは、それに割り当てることができます。インデックスがメモリ内にある限り、インデックス要素のサイズが目立った違いをもたらさない他の操作からのオーバーヘッドが多いことがわかります。

    利点として、GUIDを使用すると、作成されたレコードのサーバーに依存せず、複数のサーバー上のデータをより柔軟にマージできます(これは、システムが子システムからのデータを集約するため、私が気にかけていることです)。

    この記事には、私の疑いを裏付けるグラフがあります:神話、GUID、自動インクリメント>



    1. PHPを介したMySQL一括挿入

    2. Oracleストアドプロシージャを使用したZip

    3. phpを使用してMySqlデータベースにBlobを挿入します

    4. PHP MYSQLはCSVをインポートしてから、冗長なエントリを比較して削除します