Python-PostgreSQL psycopg2 интерфейс-> executemany

android.enableBuildCache=false

, чтобы захватить свойства.

или попробуйте это

dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
6
задан 28 December 2008 в 17:51
поделиться

3 ответа

просто скопируйте все данные в таблицу царапины с psql \copy команда или используйте psycopg курсор copy_in () метод. Затем:

insert into mytable
select * from (
    select distinct * 
    from scratch
) uniq
where not exists (
    select 1 
    from mytable 
    where mytable.mykey = uniq.mykey
);

Этот будет dedup и работать намного быстрее, чем какая-либо комбинация вставок.

- dg

8
ответ дан 9 December 2019 в 20:50
поделиться

с помощью оператора MERGE вместо ВСТАВКИ можно было бы решить проблему.

-1
ответ дан 9 December 2019 в 20:50
поделиться

"Когда мой сценарий обнаруживает такую ГРУППОВУЮ ВСТАВКУ, это connection.rollback () (который делает взлеты к 1 000 строк каждый раз и отчасти делает executemany бесполезное), и затем ВСТАВЛЯЕТ все значения один за другим".

Вопрос действительно не имеет большой смысл.

КАЖДЫЙ блок 1 000 строк перестали работать из-за групповых строк?

1 блок 1 000 сбоев строк (5 000 таких блоков)? Если так, затем выполнение многих помогает для 4 999 из 5 000 и совсем не "бесполезно".

Вы волнуетесь по поводу этой групповой вставки? Или у Вас есть фактическая статистика по количеству раз, это происходит?

Если Вы переключились от 1 000 блоков строки до 100 блоков строки, Вы можете - очевидно - определяют, существует ли преимущество производительности для 1 000 блоков строки, 100 блоков строки и 1 блока строки.

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

0
ответ дан 9 December 2019 в 20:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: