Пропуск первичного ключа конфликтует с копией SQL

У меня есть большая коллекция необработанных данных (около 300 миллионов строк) с примерно 10% реплицированных данных. Мне нужно поместить данные в базу данных. Ради производительности я пытаюсь использовать копию SQL. Проблема в том, что когда я фиксирую данные, исключения первичного ключа предотвращают обработку любых данных. Могу ли я изменить поведение первичных ключей таким образом, чтобы конфликтующие данные просто игнорировались или заменялись? Мне все равно - мне просто нужна одна уникальная копия каждого из данных.

Я думаю, вы имеете в виду «дублированный», а не «тиражированный».

MusiGenesis 19.10.2008 23:30
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
1
436
3

Ответы 3

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

Это то, что я собирался сделать, но беспокоился о производительности избавления от 30 миллионов случайно размещенных строк в базе данных с 300 миллионами записей. Дублирующиеся данные также имеют пространственные отношения, поэтому я хотел попытаться исправить проблему во время загрузки данных, а не после того, как я все это загрузил.

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

Используйте это как основу CREATE TABLE XYZ AS SELECT * FROM (query-just-non-dupes)

Вы можете проверить идеи АСКТОМ о том, как выбрать неповторяющиеся строки

Другие вопросы по теме