-1

そう聞かれ、言葉を失いました。

あるアプリケーションのバックエンドを実装するための 2 つのオプションがあるとします。

1つは動的配列を使用しており、それを変更/読み取りするたびに、RAMにロードして必要なことを行い、終了したら元に戻します。

もう 1 つは、SQL を使用することです。

パフォーマンスの問題 (SQL の方が高速です。DB が RAM よりも大きい場合、メモリにロードできません) 以外に、SQL を優先する他の理由はありますか?

4

3 に答える 3

3

取引...

スケーラビリティ

同時実行

正気!

アプリケーションにベクトルを使用することを提案した人は誰でも、いくつかの構成要素を与えて、鋭利な角のない部屋に置いてください...

于 2013-09-11T10:56:55.440 に答える
0

ほとんどの設計上の問題と同様に、答えはコンテキストによって異なります。このデータの大きさ、使用頻度、実行しているプラ​​ットフォームなど。

たとえば、.NET プラットフォームは基本的に、構成情報を格納するために (私が知っているいくつかの追加機能と共に) 配列を使用します。プログラムの開始時に、この情報がディスクからロードされ、構成パラメータをチェックする必要があるときはいつでも、配列を調べて見つけます。

キャッシュ制御などの追加機能がありますが、ここでは無視します。

この構造は理にかなっています。情報はプログラムの開始時に一度読み取られ、プログラムによって変更されることはなく、記憶媒体に書き戻す必要もありません。

したがって、あなたの質問への答えは、データで何をしているかによって異なります。マーティンが指摘したように、SQL は、トランザクション制御、同時実行性、構造、スケーリングなど、あなたが言及したもの以外にも、アプリケーションに多くの重要な機能を提供します。

于 2013-09-11T11:40:03.070 に答える
0

より多くのデータを保存する場合は、ほとんどの場合、データベースの方が適しています。

データベースは次の操作用に最適化されているため、パフォーマンスが向上します。

  • 一部のデータのみをロードする
  • ...
于 2013-09-11T10:57:46.123 に答える