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

暗号通貨MySQLデータ型?

    あなたが提案した3つのうち(さらにコメントから1つ)、明らかに最良の選択肢があります。

    BIGINT —わずか8バイトを使用しますが、最大のBIGINT 10進数は19桁のみです。 10で割ると、表現できる最大値は9.22であり、十分な範囲ではありません。

    ダブル —精度は10進数で15〜17桁のみです。浮動小数点演算のすべての既知の欠点があります。

    VARCHAR —小数点以下18桁を処理する場合は、20バイト以上を使用します。一定のstring↔int変換が必要になります。並べ替えることはできません。比較することはできません。 DBに追加することはできません。多くの欠点。

    10進数(27,18) – MySQLを使用している場合、これには12バイトかかります(9桁のグループごとに4 )。これは非常に妥当なストレージサイズであり、10億から1Weiまでの量をサポートするのに十分な範囲があります。精度を損なうことなく、データベース内で並べ替え、比較、加算、減算などを行うことができます。

    DECIMAL(27,18)を使用します (またはDECIMAL(36,18) 本当に巨大な値を保存する必要がある場合)暗号通貨のお金の値を保存するために。




    1. Geekbench3.2を使用した大規模データベースサーバーのテスト

    2. MicrosoftAccessのヒントとコツパート2–フォーム

    3. Oracle Forms&Reportsの現在の求人情報を検索する

    4. MySQL InnoDBが全表スキャンでMyISAMよりもはるかに遅いのはなぜですか?