2017-06-22 2 views
2

私は折れ線グラフの保存、取り込み、比較のための再描画を含むこの1つのプロジェクトに取り組んでいます。事は私がそれを保存する効率的な方法を知らないだけです。私は現在Livechartsと呼ばれるライブラリを使用しており、私はこのexampleを使用しています。私は個人的には個々の価値を保存することを個人的に考えましたが、私が救う線図がたくさんあることを考えれば、それはあまりにも手を抜くように感じます。だから私の質問は、誰もが折れ線グラフを保存するより良い方法を知っているのですか?SQLデータベースへの折れ線グラフの保存

ご協力いただければ幸いです。

+0

をあなたは比較したいですか?個別の値を比較する場合は、個別の値を格納する必要があります。画像を比較したい場合は、それらをブロブとして保存する必要があります。とにかくテラバイトを意味するのは、データベースの「不在」です。すべてのバージョンのSQL Server 2016 SP1は、列ストアインデックス、圧縮およびインメモリテーブル(ExpressおよびLocalDBの場合も含む)をサポートしています –

+0

保存するポイントはいくつですか?どのような比較を実行したいですか? SQL Serverはウィンドウ処理を使用し、実行中の合計、平均などを計算できます。そのためにすべてのデータを格納する必要があります。クラスタ化されたインデックスに両方の列を追加すると、高速範囲クエリが表示され、すぐにウィンドウが表示されます –

+0

グラフは約5分間実行される可能性があります。したがって、xとyのすべての値。どのくらいの可能性があります。比較する限り、私は描画されたグラフを比較しています。 – Hypergyzed

答えて

1

あなたは、XML列を持つSQLテーブルにXMLシリアル化されたデータを保存して、このようにそれを復元次にChartValues

[Serializable] 
public class ChartValues 
{ 
    public DateTime time; 
    public int Value; 
} 

を保持している直列化可能クラス、BUIDができます:何

foreach(ChartValue val in SavedChartValues) 
{ 
ChartValues.Add(new MeasureModel 
       { 
        DateTime = val.Time, 
        Value = val.Value 
       }); 
} 
+0

なぜXMLですか?これは、別の列にデータを格納するよりも効率的ではありません。それはまったく反対です。 –

+0

これは効率的ではありません(効率的ではありませんでした)。しかし、単一のグラフが単一の行で表されるため、よりクリーンです。また、全体で触れる必要のあるデータは、単一の列に表示されます。それは私がそれを提案した理由です。好奇心の念から、XMLは他のどのソリューションよりも効率的です。 –

+0

OPが効率を求めました。複雑なデータを1つの*セルに格納する他の方法よりもはるかに多くのスペースを必要とします* BLOB、JSON、またはSQLCLRタイプでさえも –

関連する問題