Django: подключается ли удаленная база данных быстрее, чем база данных по умолчанию?

#django #database #performance #postgresql

#django #База данных #Производительность #postgresql

Вопрос:

Мне пришлось загрузить миллион записей в мою таблицу PostgreSQL из файла xls, и с настройками базы данных по умолчанию это заняло более 5 минут (даже после использования необработанных SQL-запросов с подключением курсора). Поэтому, чтобы повысить производительность, я попробовал это, удаленно подключившись (используя psycopg2) к той же базе данных, и вставка всех записей едва ли заняла 100 секунд.

 mydb = psycopg2.connect(database="test", user="test", password="test")
cursor = mydb.cursor() 
cursor.execute('INSERT INTO TABLE')
 

Хотя мне удалось найти более быстрое решение, я не смог найти причину, по которой удаленное подключение к базе данных выполняется быстрее, чем подключение к базе данных по умолчанию.

Комментарии:

1. Предположение — возможно, psycopg2 сохраняет соединение с базой данных открытым, в то время как django закрывает его после каждого запроса, попробуйте установить docs.djangoproject.com/en/1.10/ref/settings/#conn-max-age введите параметр в настройках вашей базы данных django и посмотрите, поможет ли это.