をフィルター1つのベースクエリセットに異なる時間を複数のフィルタを実行するとジャンゴDBアクセスの最適化:あなたは、私がこのような何かを行うビューを持っている日付範囲
objectBase = MyModel.objects.filter(startDate__range=(start,end))
automatedObjects = objectBase.filter(automated = True).count()
userCreatedObjects = objectBase.filter(userCreated = True).count()
bookObjects = objectBase.filter(subClass = 'book').count()
pageObjects = objectBase.filter(subClass = 'page').count()
allObjectsCount = objectBase.count()
私は1.2.4と最新のpostgresの
を使用していますとにかく、私はobjectBaseをフィルタリングして日付でフィルタリングする必要がある約20種類の方法があり、それぞれのSQLクエリが日付順にフィルタリングされていることに気付きました。後続のクエリを日付でフィルタリングする必要がないようにする効率的な方法はありますか?スピードの違いはありますか?
また、理論的には、フィルタリングされた日付と開始日の可能性のあるフードの数百または数千のオブジェクトを保持できるため、objectBaseクエリをキャッシュするための最良の方法と思われます。非常にありそうもない。
は、いくつかの重複があるので、ここでT1 < T3 < T2及びT2 < T4 T4に後で要求T3次に誰かが日付T1およびT2の間の統計情報を要求することができると言う、等が挙げられます。それをキャッシュする方法はありますか?それは、そこにデータベースにアクセスする必要がある要求の間に重複がありますか?
ご迷惑をおかけして申し訳ございませんが、ご迷惑をおかけして申し訳ございませんが、ご了承ください。クエリの数を減らすために