我有这个执行 ~110k 行/秒的 python 代码。我想知道是否有可能让它更快?
我正在从 SQL 查询数据,需要将其格式化为 json
SQLquery= "SELECT value2 FROM mytable";
cursor.execute(SQLquery)
try:
ReturnedQuery = cursor.fetchall()
except Exception as ex:
pass
if(cursor.description):
#print(ReturnedQuery)
colTypes = cursor.description
column_names = [column[0] for column in colTypes]
NrOfColumns = len(column_names)
NrOfRows = len(ReturnedQuery)
print(NrOfRows)
Time1 = datetime.datetime.now()
data = []
for row in ReturnedQuery:
i = 0
dataRow = collections.OrderedDict()
for field in row:
dataRow[column_names[i]] = field
i = i + 1
data.append(dataRow)
Time2 = datetime.datetime.now()
TimeDiff =Time2 -Time1
print(TimeDiff)
connection.commit()
cursor.close()
从 SQL 查询一列会返回:[(0.2,), (0.3,)]
我需要将其格式化为如下所示:
[OrderedDict([('value2', 0.2)]), OrderedDict([('value2', 0.3)])]
编辑: 我过滤了查询以获得我想要的内容。我正在使用 TimeScaleDB,所以我使用了以下查询。
SELECT time_bucket('30 minutes', datetime) AS thirty_min,
AVG(value3) AS value3
FROM mytable
WHERE datetime > '2019-1-1 12:0:0.00' AND datetime < '2019-1-12 12:0:0.00'
GROUP BY thirty_min
ORDER BY thirty_min;