Мой код python создает таблицу с неделями в виде столбцов и строк по мере доступа к URL-адресам. Для получения данных для каждой ячейки выполняется запрос в базе данных mysql. Код работает очень медленно. Я добавил индексы в таблицы mysql, и это не помогло. Я думал, что это потому, что я строю код таблицы html с конкатенацией, но даже с использованием списка и соединения не фиксировала скорость. Код работает медленно как в django (с использованием дополнительного подключения к базе данных), так и в автономном python. Любая помощь в ускорении этого будет оценена по достоинству.Ускорение работы python с несколькими запросами mysql
пример запроса, что вызывается из цикла:
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
Ваш код sql кажется неправильным - ГДЕ И? – Andrew
Вы пытались оптимизировать SQL, например? поместив индекс на f.date_id и d.id ?. Также я согласен с ответом user1857805 - возможно, быстрее читать его в одном большом запросе с группой по неделям, а отдельный в Python – Andrew
Насколько велики те таблицы, которые вы запрашиваете, и какие типы данных вы используете для хранения данных? Кроме того, какое оборудование вы используете для запуска сервера базы данных? – WayBehind