5

多数の Q を一緒に論理和するクエリを実行していますが、多くの時間がかかっているようです。ここにいくつかの疑似コードがあります

query_params = []
for i in range(80): #there are about 80ish Q objects being created
    query_params.append(Q(filter_stuff))

それから私または彼ら全員が一緒に

query_params = reduce(or_, query_params)

そして、クエリを実行すると

query = list(MyModel.objects.filter(query_params))

それは長い間ハングします。これはかなり一般的な質問であり、データ構造をよく理解していないと診断を下すのは難しいことを私は知っています (ここで説明するのは難しいでしょう)。Qしかし、djangoクエリでオブジェクトを論理和することの固有のパフォーマンスへの影響があるかどうか、私はただ興味があります

4

1 に答える 1