Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Оптимизация работы / 2 сообщений из 2, страница 1 из 1
30.09.2015, 15:13
    #39065281
crause
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация работы
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
create table orders
(
id_order bigserial primary key,
...
--еще какие то поля
...
);
create table orders_items
(
id_item bigserial primary key,
id_order bigint REFERENCES orders(id_order),
... 
-- какие то колонки
...
);



Как правильно было бы организовать запись "orders_items" при наличии новых items в входных данных?

1. Получить список id_item уже записанных ранее и изменить их, после добавить новые.
2. Удалить все записи id_item и записать по новой из входных данных.
3. Свой вариант?

Работает все по 1-пункту, но может можно что то придумать поинтересней?
...
Рейтинг: 0 / 0
30.09.2015, 17:24
    #39065470
Ivan Durak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация работы
crause
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
create table orders
(
id_order bigserial primary key,
...
--еще какие то поля
...
);
create table orders_items
(
id_item bigserial primary key,
id_order bigint REFERENCES orders(id_order),
... 
-- какие то колонки
...
);



Как правильно было бы организовать запись "orders_items" при наличии новых items в входных данных?

1. Получить список id_item уже записанных ранее и изменить их, после добавить новые.
2. Удалить все записи id_item и записать по новой из входных данных.
3. Свой вариант?

Работает все по 1-пункту, но может можно что то придумать поинтересней?
пункт 1 норм. Ожидаем upsert в свежей версии пг - потом самое то для твоего варианта
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Оптимизация работы / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]