我的python代码生成一个表,其中包含作为URL访问的列和行。为了获取每个单元的数据,执行对mysql数据库的查询。代码运行得非常慢。我已经为mysql表添加了索引,但这并没有真正帮助。我以为是因为我正在使用连接构建html表代码,但即使使用列表和连接也没有修复速度。代码在django(使用额外的数据库连接)和独立的python中运行缓慢。任何加快这一点的帮助都将受到赞赏。
从循环中调用的示例查询:
def get_postcounts(week):
pageviews = 0
cursor = connections['olap'].cursor()
sql = "SELECT SUM(F.pageview) AS pageviews FROM fact_coursevisits F INNER JOIN dim_dates D ON F.Date_Id = D.Id WHERE D.date_week=%d;" % (week)
row_count = cursor.execute(sql);
result = cursor.fetchall()
for row in result:
if row[0] is not None:
pageviews = int(row[0])
cursor.close()
return pageviews
答案 0 :(得分:0)
可能是因为您正在执行的查询数量(如果您不得不多次调用此方法)。
我建议在一个查询中查询查看次数和一定时间内的一周,然后读取结果。