フリート スケジューリング アプリケーションを開発しており、地理的な場所間の距離を保存する効果的な方法を探しています。
アプリケーション コードは、2 次元配列として行列にアクセスしますdouble[,]
。
マトリックスを永続化するために、現在、マトリックスを文字列としてシリアル化しています。シリアル化すると、次のようになります。
"1 4 9 8 3 6 \n
5 6 7 9 3 6 \n
34 4 5 6 6 7 \n"
次にvarchar(max)
、SQL Server 2008 データベースの type の列に格納されます。ただ、この紐が大きくなりすぎないかなぁ。
各エントリに 1 桁の数字があり、空白と "\n" を無視すると仮定すると、理論的には、約 46000 の場所 (2 147 483 647 の平方根 - のサイズvarchar(max)
) の距離を 1 つのエントリに格納できます。私の文脈ではこれで十分でしょう。
このアプローチには重大な欠点がありますか? 各行に 2 つの場所の間の距離が 1 つ含まれる別のテーブルに距離を格納する方がよいでしょうか?
私たちのアプリケーションの 100 人のユーザーがそれぞれ 1000 の場所を保存した場合、そのようなテーブルには 100000000 = 100 * 1000 * 1000 行が含まれます....