大規模なエンタープライズWebアプリケーションが使用され始めています。最近私は、ユーザーのアクセス許可、アクセス、プロファイル情報の一般的なビットなど、多くのデータベース呼び出しを行っていることに気づいた。大規模なアプリケーション - データアクセスの処理方法
私はAzureで見ることができますが、1時間あたり平均50,000のdbクエリを見ています。
私たちはDevExpress XPO ORM経由でLinqを使用してクエリを実行しています。今はこれらのうちのいくつかは結合ですが、大半は単純な1つのテーブルクエリです。
この種の情報にアクセスするには、常にデータベースに最も適した方法ですか?この情報の一部が決して変更されないため、データベース作業をオフロードする方法はありますか?
ありがとうございます。
あなたの質問は、広範かつ非特定のものです。私たちはあなたの設定を知ることができないので、改善を提案することはできません。あなたがそれらを提供したとしても、数十の最適化の機会があるので、この質問は広すぎました。さらに、「頻繁に使用される」と「たくさんのdbコール」と考えるのは関連性があります。特に、Linq *やストアドプロシージャではありませんが、追加することもできます。どちらも、どちらも違いはありません、彼らはあなたがそれらをどのように使用しているかに完全に依存しています。 – HimBromBeere
おかげで、申し訳ありませんが質問はあいまいでした。私はそれがより明確であることをうまくいけばそれを改めた。 – bExplosion
1時間あたり50,000クエリが大きくありません。標準ガイダンスが適用されます。データベースが遅いと想定しないでください。常にあなたのコードです。適切なスキーマ、索引を使用します。あなたが望まないものをロードしないでください。レポートにORMを使用しないでください。オプティミスティックな並行性を使用します。誰かが「リクエストごとのトランザクション」の意味を誤解しているため、トランザクションを使用しないでください。 –