2016-07-31 8 views
0

データベースサービス(mongodb、django)にREST APIを書きます。私の質問は、APIを介して読み取り操作を処理する方法ですか? 1つの単純なsol'nは、すべてのAPIコールでスキップとリミットのパラメータを使用してデータベースを照会するので、データベースを照会して結果を返すことができます。しかし、それはすべてのAPIコール(ページ番号)のクエリを作成することは効率的ではないでしょうか?または、私は一度問い合わせて、バックエンドの最初の呼び出しでcursor_idを保存し、その後のAPI呼び出しのためにデータをフェッチする必要がありますか?データベース読み取り操作をWebサービスとして公開する

ありがとうございました。

答えて

1

あなたの簡単な解決策を考えてみましょう:dbに適切なページ番号を問い合わせてください。使用はskip()limit()方法を提供し、またはあなたが効率について多くのことを気にしている場合、一般的に言えばthis thread there is a work around avoiding skip() function

に、私は、メモリ全体デシベルコレクション/テーブル(やモンゴが、どのデシベル)をロードするようにお勧めしません。
小さなデータセットではうまくいくかもしれませんが、コレクションに約200,000個のドキュメントが保存されているとどうなりますか?変数にそれらを保持するつもりですか?あなたのデータベースを複製するCPUメモリを無駄にします。
さらに、の矛盾は、dbにロードされているものとメモリには何かがあります。
最後に、APIがページ番号2000を何回検索しますか?通常、最初の結果ページを探します。

関連する問題