各アクセス方法で、速度に違いはありますか?

ダイレクトアクセスとSQLアクセスおよびオブジェクトアクセスでは、処理の抽象度が異なります。

抽象度が高くなるに伴い、内部的な処理のオーバヘッドが増加するため、単純なアクセススピードの速さについては、
ダイレクトアクセスが、SQLアクセスとオブジェクトアクセスに比較して速い、と言えます。

オブジェクトアクセスとSQLアクセスでは、条件次第で、どちらが速いとは一概に言えません。

速度を比較する際、異なるアクセス手法に対して、条件を同じにすることは、非常に難しいことです。

あるいは、単純な速度比較は無意味なケースもあります。

アクセススピードを考える時には、以下の視点が必要です。

例えば、データの入力処理を考えてみると、データ登録前に入力データの妥当性チェックが必要となります。

オブジェクトアクセスとSQLアクセスでは、データ保存処理時、システムによる型に基づく妥当性チェックを自動的に行います。

一方、ダイレクトアクセスでは、開発者が自分で、その処理用コードを追加する必要があります。

また、オブジェクト間に複雑な関連がある場合、オブジェクトアクセスの場合は、システムがその複雑さを理解しながら、適切に処理してくれるのに対して、SQLアクセスの場合は、処理単位が行単位のため、関連は開発者が自分で処理しなければならないケースもでてきます。

これらの事と、処理スピードとは、基本的に逆の相関関係にあり、何らかのトレードオフがつきものです。

以上のことを踏まえ、どちらを優先するか考えながら適切なアクセス手法を選択することをお勧めします。

さらに、InterSystems製品のメリットは、各種アクセス手法を適宜使い分けることにより、アプリケーション開発を最適化できる点にあることを、ご理解いただけたら幸いです。


該当する製品: Caché, Ensemble, HealthShare/Caché Based, IRIS Data Platform, HealthShare/IRIS Based, IRIS for Health
関連トピック:
添付ファイル:

アンケートにご協力をお願いします
このトピックは参考になりましたか?
このトピックに関するお問い合わせ

FAQトップに戻る