0

データベース内の多くのテーブルは、フィールド「display_order」を使用して、画面上のレコードの順序を決定しています。そして、このフィールドには int を使用しています。最初に、レコードを挿入するとき、最初のレコードに display_order = 0 を指定し、2 番目のレコードに display_order = 1000 を指定するなど、いくつかのギャップを残します。このようにして、最初のレコードと 2 番目のレコードの間にギャップができます。したがって、これら 2 つの間に新しいレコードを挿入する場合は、display_order = 500 を指定できます。

このアプローチには、隣接する 2 つのレコード間のギャップがなくなると、いくつかのギャップを作るために多くのレコードの display_order の更新を開始する必要があるという制限があります。

これには浮動小数点または文字列のみを使用することを考えましたが、パフォーマンスの比較に影響するかどうかはわかりません。

あなたの経験から、これについてどう思いますか?

乾杯、エルトン

4

2 に答える 2

1

浮動小数点はパフォーマンスに影響を与えるべきではなく、周囲の値の平均を使用するだけで、はるかに簡単な解決策です。異常なケースでは、除算のビットが不足する可能性があるため、平均が周囲の両方の値と異なることを確認する必要があり、同じであることが判明した場合は、番号を付け直す必要があります。しかし、それはあまり頻繁に起こるべきではありません。

于 2013-01-22T02:01:24.100 に答える
0

表示順序を 2 倍または 3 倍にするとどうなるでしょうか。これにより、元の順序が維持され、アイテム間にスペースが追加されます。これを更新クエリとして実行するのも簡単です。

于 2013-01-22T00:56:05.840 に答える