Posgres 9.6 Есть табличка на 80млн records: CREATE TABLE user_project (

id varchar(255) NOT NULL,
user_email varchar(255) NULL,
-- и еще около 20 колонок
CONSTRAINT user_project_pkey PRIMARY KEY (id)
);
хочу добавить табличку:
create table app_user (
id varchar default uuid_generate_v4(),
email varchar not null
);
и заменить в user_project колонку user_email на user_id которая будет foreign key на app_user.
в результате навалял скрипт который очень медленный:
-- наполняем app_user существующими имейлами, их получиться ~10 млн.
-- возможно ли наполнить табличку быстрее чем здесь?
insert into app_user(email) select distinct user_email from user_project;
alter teble app_user add constraint idx_unique_email unique (email);
alter table app_user add constraint pk_id_app_user primary key (id);
-- делаем копию таблицы с новой колонкой user_id
-- тут вопрос, что должно быть быстрее: join или вложеный select?
create table new_user_project as SELECT user_project.*, (select u.id from app_user as u where user_email = u.email) as user_id FROM user_project;
alter table new_user_project drop column user_email;
--восстановляем индексы

3 ответов

18 просмотров

Спросите лучше в чате по конкретной СУБД.

Viktor-Fedinchuk Автор вопроса
Yaroslav Schekin
Спросите лучше в чате по конкретной СУБД.

думал это не сильно привязано к конкретной бд)

Viktor Fedinchuk
думал это не сильно привязано к конкретной бд)

Это даже привязано к конкретной версии конкретной СУБД. Поэтому укажите там и версию

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

Обсуждают сегодня

1. https://www.kaggle.com/code/ahmadrezagholami2001/housing-estimation-linear-regression 2. https://www.kaggle.com/code/ahmadrezagholami2001/uncovering-quality-in-wines-logis...
Ahmadreza
1
Hi! Could you please upvote my new notebook? thanks a lot. https://www.kaggle.com/code/melissamonfared/anime-character-generation-dsgan-gan
məru
4
upvote plz https://www.kaggle.com/code/bassetkerouche/swapping-face?scriptVersionId=207300096
benkerrouche Statoinary
1
-- Привет всем. -- Есть csv, проблема в том что он содержит очень много повторов по столбцам и по строкам. -- Решил перекинуть это в базу данных, чтобы было проще. Но я не ша...
Oleg Ivanov
1
Как считаете - вопрос на собесе: «Как быстрее всего запустить ec2 машину в aws (в чистом аккаунте) и показать вывод от любой команды с нее» не очень ли сложный для условного м...
Sergey
50
Господа, у меня вопрос. Что вообще такое этот ваш data science и data scientists? А то гуглю, а мне какую-то расплывчатую фигню говорят.
Inkosta
44
Hi could you please help me with my two new projects? https://www.kaggle.com/code/hesankazemnia/rice-image-classification-cnn-pytorch https://www.kaggle.com/code/hesankazemnia...
Hesan
6
Исходя из ваших комментариев, получается, что чтобы получить марты в CH из данных в PG, неправильно тянуть сырые данные в CH и там их обрабатывать, лепить справочники и джойни...
unhingedlunatic
42
hi, Can you upvote? https://www.kaggle.com/code/durjoychandrapaul/rag-q-a-system-by-langchain-huggingface-for-pdf?scriptVersionId=204704280
A
1
Could you upvote and comment please? https://www.kaggle.com/code/tatianapetrushkevich/beginner-images https://www.kaggle.com/code/tatianapetrushkevich/python-for-beginners1 ...
Tazziyana
7
Карта сайта