Ускорение расчета общего количества записей Django для сайта с 20 миллионами записей MySQL.Python

Программы на Python
Anonymous
Ускорение расчета общего количества записей Django для сайта с 20 миллионами записей MySQL.

Сообщение Anonymous »

Я столкнулся с проблемой на своем веб-сайте Django. Учитывая, что моя база данных содержит более 20 миллионов записей, операция подсчета общего количества данных (count) становится крайне медленной. Я использую следующие запросы:

Код: Выделить всё

company_count_query = f"SELECT COUNT(DISTINCT cs.OGRN) AS total_companies {company_from_clause} WHERE {company_match_condition} {email_condition} {capital_condition} {date_condition} {company_okved_condition}"

ip_count_query = f"SELECT COUNT(DISTINCT ip.OGRNIP) AS total_ips {ip_from_clause} WHERE {ip_match_condition} {imail_condition} {ip_okved_condition}"

Как оптимизировать эти запросы или использовать другие методы, чтобы ускорить подсчет общего количества записей?
Спасибо за помощь!
Я попытался оптимизировать структуру запроса, добавив индексы к столбцам, по которым производится фильтрация, в надежде повысить производительность операции подсчета. Я ожидал, что это сократит время выполнения запроса и ускорит обработку данных. Однако на практике время выполнения запроса оставалось высоким, а операция подсчета по-прежнему занимала слишком много времени.

Подробнее здесь: https://stackoverflow.com/questions/784 ... -million-r

Вернуться в «Python»