none
Visual Stadio2010でのデータアクセス方法について RRS feed

  • 質問

  • Visual Stadio2010でデータにアクセスする際、下記①と②でどちらが処理速度が速いでしょうか。

    データ量はEXCEL2010に収まる程度です。

    ①ACCESS等のDBを使用してデータにアクセスする。

    ②EXEを作成する際にあらかじめ、EXCEL等の外部ファイルを取り込んで、Visual Studio内でデータを保持しておいて、 外部にアクセスしなくても、EXE内だけで、処理を完結させるようにする。

    また、上記以外で何か良い方法があれば、ご教授していただけると幸いです。

    • 移動 佐伯玲 2012年9月25日 7:00 より適切なカテゴリーへ移動 (移動元:Visual C#)
    2012年9月25日 3:00

回答

  • データベースにアクセスしないので、一般的には②の方が速いでしょう。ただ、環境やデータ量によっては、速度の違いは体感できないぐらいの差になると思います。
    ちなみに「データ量はEXCEL2010に収まる程度です。」というのは漠然としすぎています。例えば64bit版のExcelでは、かなりの量を保持できます。(ただ、アクセスできる量に上限があったかもしれません)

    それよりも①と②の違いは、②ではデータの変更ができなくなるということです。Exeファイルを作成する際に、データごとコンパイルされているからです。どのような性質のデータを保存されるのかが不明ですが、このようなことや配布の簡単さなども含めて、総合的に判断される必要があると思います。


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/

    • 回答としてマーク A_M_Scofield 2012年9月25日 4:27
    2012年9月25日 3:44
    モデレータ
  • 「Visual Studio内でデータを保持しておいて」とはどういう意味でしょうか? EXE内にデータを保持しないのですか?

    それに気になるのは、それほどの大量データが、一度作られたら以後、増減も変更もないのでしょうか? 後者の場合、変更できない構造になりますが、比較したい前提条件(作りたいプログラムの前提条件)を満たしていますか?

    2012年9月25日 3:50

すべての返信

  • データベースにアクセスしないので、一般的には②の方が速いでしょう。ただ、環境やデータ量によっては、速度の違いは体感できないぐらいの差になると思います。
    ちなみに「データ量はEXCEL2010に収まる程度です。」というのは漠然としすぎています。例えば64bit版のExcelでは、かなりの量を保持できます。(ただ、アクセスできる量に上限があったかもしれません)

    それよりも①と②の違いは、②ではデータの変更ができなくなるということです。Exeファイルを作成する際に、データごとコンパイルされているからです。どのような性質のデータを保存されるのかが不明ですが、このようなことや配布の簡単さなども含めて、総合的に判断される必要があると思います。


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/

    • 回答としてマーク A_M_Scofield 2012年9月25日 4:27
    2012年9月25日 3:44
    モデレータ
  • 「Visual Studio内でデータを保持しておいて」とはどういう意味でしょうか? EXE内にデータを保持しないのですか?

    それに気になるのは、それほどの大量データが、一度作られたら以後、増減も変更もないのでしょうか? 後者の場合、変更できない構造になりますが、比較したい前提条件(作りたいプログラムの前提条件)を満たしていますか?

    2012年9月25日 3:50
  • そうですね。

    DB的な役割を果たすのであれば、やはり②は好ましくなさそうですね。

    すいません、初心者なもので

    2012年9月25日 4:29
  • ちなみにその用途は何ですか?

    こちら にも書きましたが、exe内の保持は好ましくないのは別として、
    起動時に外部ファイルをまとめて読み込んで内部処理ではそれを参照する。
    というのはアリだと思いますよ。

    2012年9月25日 4:34