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

INTと比較したBIGINTmysqlのパフォーマンス

    あなたの質問に答えるには:はい、パフォーマンスが低下します。明らかに、タイプが大きいほど、テーブルが大きくなり、クエリが遅くなります(I / Oが増える、インデックスが大きくなる、アクセス時間が長くなる、さまざまなキャッシュに収まる可能性が低くなるなど)。したがって、経験則として、常に最小のタイプを使用してください 必要に応じて調整します。

    そうは言っても、パフォーマンスは重要ではありません 。なんで? INTをオーバーフローさせるポイントに到達した場合、BIGINTが唯一の解決策であり、それを使用する必要があるためです。また、その時点で(自動増分PKを使用していることを考慮すると、40億を超えるになります。 行)、パフォーマンスの問題が大きくなり、INTと比較したBIGINTのオーバーヘッドが最も懸念されなくなります。

    したがって、次の点を考慮してください。

    • 負の値が必要ない場合はUNSIGNEDを使用すると、制限が2倍になります。
    • UNSIGNEDINTの最大値は4.294.967.295です。自動インクリメントPKを使用していて、エントリが300.000しかない場合は、心配する必要はありません。 。本当に急速な成長を計画しているのでない限り、現時点ではMEDIUMINTを使用することもできます。 (http://dev.mysql.com/docを参照してください。 /refman/5.1/en/integer-types.html
    • タイプの後の括弧内の数字はタイプの最大値に影響を与えません 。 INT(7)は、INT(8)またはINT(32)と同じです。 ZEROFILLを指定した場合に表示幅を示すために使用されます( http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html


    1. 複数の変数を持つmysqlテーブル構造

    2. SQL ServerのDECIMALとNUMERICに違いはありますか?

    3. ORA-29280の解決方法:無効なディレクトリパス

    4. SQL ServerのWHERE句のアンパサンド(&)演算子