2
我正在執行一個或多個Q的查詢,它似乎需要很長時間。下面是一些僞代碼在Django查詢中對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))
它掛在很長一段時間。我知道這是一個非常普遍的問題,如果沒有對數據結構的深入理解(這很難在這裏給出)很難給出診斷。但我只是好奇,是否存在對django查詢中的對象的固有性能影響
您正在討論oring tog乙醚80條件,這將是緩慢的,不管... ...我會建議找出一種方法來查詢你想要的記錄 –
@ doniyor沒有模型有幾個字段,但我試圖找到它們的特定對(即, q1 = Q(field1 = val1,field2 = val2),q2 = Q(field1 = val3,field2 = val4),等等......) – sedavidw
我建議創建一個配對索引。 –