ホームページ  >  記事  >  データベース  >  MySQL の BIGINT 制限を超える巨大な整数を処理する方法: Varchar と他のオプション?

MySQL の BIGINT 制限を超える巨大な整数を処理する方法: Varchar と他のオプション?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-23 23:20:30679ブラウズ

How to Handle Massive Integers Beyond MySQL's BIGINT Limit: Varchar vs. Other Options?

MySQL の制限を超える巨大な整数の処理

質問: BIGINT は MySQL の最大の整数型であるように見えますが、さらに大きな整数を格納するための解決策は何ですか? BIGINT(80)って言うんですか?さらに、Twitter の API ドキュメントなどの特定のソースが、これらの巨大な整数を varchar として保存することを推奨しているのはなぜですか?これらのデータ型の選択に影響を与える要因はどれですか?

答え:

直感に反して、大きな整数の 64 ビット サイズ制限 (特定の桁数 20 ではなく) )実際の境界を決定します。この 64 ビット制限を超える数値は大きな整数内に収まりません。

この制限は、ネイティブ整数がハードウェアによる超高速操作用に最適化されているのに対し、数値のテキスト表現には通常、シーケンシャルな整数が必要であるという事実から生じます。桁ごとの処理アプローチ。

64 ビット制限を超える数値が発生した場合は、varchar ストレージを選択できます。ただし、このアプローチには注意点があります。これらの格納された数値に対する広範な数学的演算は実行できない可能性があります。

代わりに、次のことを検討することもできます。

  • 浮動小数点数: より広い範囲を提供しますが、精度は犠牲になります。
  • 10 進数: 10 進数 (65,0) 列タイプで最大 65 桁の整数値をサポートし、範囲と精度のバランスを提供します。 .

以上がMySQL の BIGINT 制限を超える巨大な整数を処理する方法: Varchar と他のオプション?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。