問題の説明:テーブルの量を増加させつつ、データベースのクエリデータが巨大であれば、我々はすべての()クエリを使用できない場合、あなたが考慮すべき最初の事は、すべてのデータ・プラクティスを照会し、パフォーマンスの問題では、データベース・サーバのメモリ消費の負担を増加します私たちが安らかなスタイルのlist_resourceインタフェースを持っている場合、このメソッドは、システムのクラッシュは、その後どのように我々はそれを行うことができ、特に避けることができない得るのだろうか?
アイデア:
私たちはlist_resourceインタフェースがそうであるように最初は、フィルタ条件を追加したり、制限を使用することが可能である()(オフセット)とデータ間隔の数を制限し、我々は先端示すタブを使用しようとする
私たちは、メソッドのpaginateを使用する際の時間をあなたはまだそれがパフォーマンスの欠如であるかどうかを心配していますか?すべてのデータが最初にしてそれを介してページングをチェックアウトするかどうか?ではないので、あなたはパフォーマンスの問題を持っていないように注意してください、あなたがソースコードの下に表示されているため、ソースコードが限度の使用があり、あなたを教え、それをオフセット
もSQLAlchemyのキャッシュの効果に加えて、同じ要求では、クエリと同じデータを複数回彼は唯一のクエリ一度、後者はローカルにキャッシュされたデータの使用になりますと、
もちろん、あなたは、あなたがRedisのは(ここでは詳細に議論されていない)キャッシュの層を構築し使用することができ、パフォーマンスが良いだけでは不十分だと思うかもしれません
また、改ページを表示するために、他のサードパーティのライブラリがありますが、唯一のクエリページ表示の結果の後に、以下に列挙しました
- paginate_sqlalchemy
公式文書アドレスhttps://pypi.org/project/paginate_sqlalchemy/ - paginate(公式ドキュメントのアドレスを見つけましたが、PIPを使用してインストールし、輸入のpaginateを使用することができません)
あなたが使用できる公式ドキュメントやソースコードの例の特定の使用を参照して、使用ピップにだけ必要がインストールすることができ、