2011-07-27 16 views
0

小数点以下のデータ型を持つフィールドでテーブルを並べ替える必要があります。私はインデックスを追加しましたが、それがどれほど効果的かはっきりしていません。mysqlの小数点以下2桁を小数点以下に並べ替える

精度はあまり必要ではないので、整数として小数点を格納する方が良いでしょうか?あるいは、最小パーセンテージを1%以上に丸めることができるまでパーセンテージを増加させ、丸め、整数として保存して並べ替えることができます。

どちらが速く、順番に、どのくらいですか? 小数点以下2桁または小数点以下2桁の整数として格納します。

答えて

1

整数として保存します。これは、パーセントが100%まで上がるので、重複する数値のインデックスが小さくなり、検索が高速になることを意味します。小数は、長い中間語をバイナリ形式で保存するようなものです。

+0

は既に完了しており、ベニフィートを見ることができます – Anush

-1

インデックスがソートと異なる点はないと思います。索引の主な目的は、行をより速く検索することであり、特定の値を検索していないと思われます。

したがって、カラムを10進数フィールドのままにしておくと、プログラムを取得または格納するたびに値を変換するオーバーヘッドが発生しません。

+0

私は並べ替えを高速化するためにインデックスが必要ありません。 – Anush

+0

正直なところ、私はMySqlの専門家ではないので、わかりません。見つけ出す最良の方法は、並べ替えの有無にかかわらず時間を設定することです。 –

関連する問題