1

多数の 10 進数値を含むデータベースを作成し、それらをすべて varchar(11) として保存したため、「オーダーバイ」の問題があり、「キャスト」の問題を一時的に修正しました。varchar(11) の代わりに decimal(3,8) を使用する必要があります => その変更を行った場合、サーバーが高速になりますか、それとも違いはありませんか?

また、php 側では、varchar 値を使用して多くの計算が行われています。

4

5 に答える 5

1

MySQL では、数値を同じような形式にしたり、繰り返しキャストすることなく数学関数や並べ替えを容易にしINTたりすることを好みます。DECIMAL

カラム タイプを切り替えて、MySQL にすべての値を再キャストさせるのはおそらく良い考えです。本番データに適用する前に、必ずこれをテストしてください。

PHP は文字列と数値の違いをあまり気にしません。必要に応じてキャストします。

于 2013-07-25T19:28:42.703 に答える
1

decimalの代わりに使用することを好みますvarchar。それはより速くなります!

于 2013-07-25T19:11:21.887 に答える
0

計算目的で値を使用している場合は、小数を使用することをお勧めします。これは、文字列が「+」ため息で追加されると、小数が追加される場合とは異なる効果があるためです。したがって、小数を使用することをお勧めします

于 2013-07-25T19:12:12.153 に答える