私は、答えがおそらく私の専門外であるという難問に直面していることに気づきました。誰かが助けてくれることを願っています。
テーブル (およびリンクされた) データをフェッチするための最適化された効率的なクエリがありますが、その実際の内容は重要ではありません。ただし、読み取るたびに、そのデータを処理して JSON 形式でデータを表示する必要があります。数百行に数十万行が関連付けられる典型的な例を話しているので、これには時間がかかります。マルチスレッドと強力な CPU (i7 3960X) を使用すると、この処理は 100% CPU で約 400ms - 800ms です。私が知っていることはあまりありませんが、そもそもなぜ毎回処理するのですか?
この特定の例では、私がこれまでに読んだことはすべてそうしていないことを示していますが (私が理解しているように)、計算された JSON を VARCHAR(MAX) 列に格納して高速に読み取ることを検討しています。
なんで?データは 1 回の書き込み (変更) ごとに 100 回以上読み取られます。これらの数値を考えると、最適化された検索のために JSON を保存し、奇妙な機会に関連付けを再計算して更新する方がはるかに優れているように思えます。変更の書き込みにかかる時間はおそらく 10 ~ 20 ミリ秒増加しますが、読み取りは大幅に改善されます。
これについてのご意見をお待ちしております。