1

最初のテンプレート用に 10 個のフィールドを持つ 1 つのパブリケーションがあります。

同じパブリケーションの 5 つのフィールドのみが必要な別のテンプレートがあります。読み込まれたテンプレートによっては、ユーザーは両方にアクセスできるため、セキュリティは問題ありません。

質問:

パフォーマンスの観点から、必要な 5 つのフィールドのみを含む別のパブリケーションを作成する必要がありますか?それとも最初のパブリケーションに依存する必要がありますか?

私はそれが次の間のトレードオフになることを期待しています:

  1. 送信されたデータの量
  2. サーバー側の負荷 (これらの各出版物は を使用しますcursor.observe())
  3. 現在サブスクライブしているユーザー数 (mergeBox ロード)

もう 1 つの解決策は、2 つのパブリケーションを作成することです。5 つのフィールドを持つ基本的なものと、その他の 5 つのフィールドを持つ別のものです。最初のテンプレートでは両方にサブスクライブし、2 番目のテンプレートでは最初のテンプレートのみにサブスクライブします。

理論は理解できますが、最適なアプローチを推測することはできません。この種のケースでは、良い慣行があると思います。

すべてが同等である可能性もあり、それは不要なマイクロ最適化になります (そして、それは私の質問に答えるでしょう)。

ありがとう!

4

1 に答える 1

1

あなたは間違いなく正しい思考プロセスを持っていると思います。最適化する必要があるかどうかはわかりません。あまり時間がかからない場合は、それを行うことをお勧めします。

多数のユーザーがいる場合、アプリで追跡できるデータベース フィールドの量を最小限に抑える必要があります。2 つのサブスクリプションでのアプローチは良いと思います。私が提案することの 1 つは、10 個のフィールドすべてを含むパブリケーションを作成して、最初のテンプレートのサブスクリプションの量を減らすことです。これにより、2 回サブスクライブする必要がなくなります。

それが役立つことを願っています!

于 2015-07-07T17:32:38.490 に答える