プロジェクト用に新しいテーブルを設計する必要があります。このテーブルには、基本的にキーごとに41個の番号のリストが含まれています。リストの最初の数値はいくつかの距離測定値であり、残りの数値はパーセンテージの加重ビンを表します。
- 最初の10パーセンタイルはそれぞれ1%です
- 次の10個はそれぞれ2%です
- 次の10個はそれぞれ3%です
- 次の10個はそれぞれ4%です
合計すると1*10 + 2 * 10 + 3 * 10 + 4 * 10 = 100%になります
このデータの通常の使用法は、ビンを垂直方向に合計することです。(つまり、key1-bin1 + key2-bin1 + ..; key1-bin2 + key2-bin2 + ..;など)
さて、これが決して変わらず、同じビン分散を持つ40のビンが常に存在すると仮定すると、どちらが良いですか?:
- フォームのキーごとに1行-キー、距離、bin1、bin2 ... bin40
また
- 次の形式のキーごとに41行-key、bin_number、valueここで、bin_number-1は距離を保持します
最初のオプションの明らかな利点は、データの重複が減ることです。さらに、「-1」の回避策は本当に好きではありません。
しかし、これは本当に汚く、非常に「ハードコーディング」されているように感じます。データベースは2番目のオプションを何らかの形で「優先」し、圧縮やインデックス作成などの点で最初のオプションよりも適切に処理するように設計されていると教えられたことを覚えています(さらにクエリはおそらく2番目のオプションの方が見栄えが良いですが、コード内の醜いクエリで生きることができます)
ありがとう!