Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django合并查询以加速数据库访问_Python_Sql_Django_Oracle_Oracle11g - Fatal编程技术网

Python Django合并查询以加速数据库访问

Python Django合并查询以加速数据库访问,python,sql,django,oracle,oracle11g,Python,Sql,Django,Oracle,Oracle11g,我创建了一个带有循环的查询列表: chunks = 1000 chunkTimeInS = (endDate - startDate).total_seconds()/chunks queryList=[] for timeChunk in range(0,chunks): startTime=startDate+timedelta(seconds=chunkTimeInS*timeChunk) endTime=startDate+timedelta(seconds=chun

我创建了一个带有循环的查询列表:

chunks = 1000
chunkTimeInS = (endDate - startDate).total_seconds()/chunks

queryList=[]

for timeChunk in range(0,chunks):
    startTime=startDate+timedelta(seconds=chunkTimeInS*timeChunk)
    endTime=startDate+timedelta(seconds=chunkTimeInS*(timeChunk+1))

    queryList.append(myModel.objects.using('myDB')
        .exclude(myValue1=-99)
        .filter(timestamp__gte=startTime, timestamp__lt=endTime)
        .order_by("timestamp")
        .aggregate(
            Avg('myValue1'),
            Avg('myValue2'),
            myValue3 = Avg(F('myValue3')*F('myValue3')),
            )
        )
我想通过执行以下操作将所有数据保存到列表中:
dataList=list(queryList)
。这个电话太长了。我想这是因为queryList中有大量的查询

有没有办法将此列表合并到一个查询中?或者其他解决方案来加速数据库访问


使用的数据库是Oracle 11g。

如果列表中有查询集,则
data=reduce(lambda x,y:x | y,queryList)
可以工作。然而,您有
aggregate
语句,那么它是一个字典列表,而不是查询集列表。我删除了我的答案。有没有办法避免循环以加速数据库访问?