0

mysql db に列を作成しました。値を 10000 に格納しています。TINYINTこれを 10k に変更すると、VARCHARどちらがパフォーマンスが向上しますか?

元。10000、20000、30000.... または 10k、20k、30k...

4

2 に答える 2

3

値を選択するだけであれば問題ありません。

ただし、 where 条件で使用している場合は、 を使用するとパフォーマンスが向上しますint。例:

select * from your_table
where your_column > 1000

列が の場合にのみ機能intし、数値に戻す必要はありません。

通常、数値の場合は数値として保存します。

于 2013-05-31T01:32:20.940 に答える
0

より大きな問題は、それがあなたのプロジェクトに役立つかどうかです。それに対して数学演算をTINYINT実行できます。VARCHAR数値は文字列になるため、 ではできません。確かに文字列を数値に操作することはできますが、パフォーマンスが低下し、余分なコードを作成する必要があります (SQL や他の言語が不必要に複雑になる可能性があります)。

値を数値にする場合は、必ず整数にしてください。本当に賢い人たちが文字列と整数を区別したのには理由があります。

于 2013-05-31T01:47:04.127 に答える