Создать общую таблицу БД - PullRequest
0 голосов
/ 23 мая 2018

У меня есть несколько продуктов, и у каждого из них есть собственная таблица продуктов и таблица значений.Теперь мне нужно создать общий экран для проверки этого продукта, и я не хочу создавать проверенную таблицу для каждого продукта.Я хочу создать общую таблицу, которая будет содержать все сведения о продуктах и ​​один дополнительный столбец с именем ProductIdentifier.но проблема в том, что здесь, в этой общей таблице, я могу в конечном итоге поместить миллионы записей, и при получении данных на это уйдет время.

Есть ли какое-либо иное лучшее решение ???

1 Ответ

0 голосов
/ 23 мая 2018

«Миллионы записей» звучит как проблема VLDB.Я бы поместил данные в многораздельную таблицу:

CREATE TABLE myproducts (
  productIdentifier NUMBER, 
  value1            VARCHAR2(30),
  value2            DATE
) PARTITION BY LIST (productIdentifier)  
( PARTITION p1 VALUES (1),
  PARTITION p2 VALUES (2),
  PARTITION p5to9 VALUES (5,6,7,8,9)
);

Для запросов, связанных только с одним продуктом, укажите раздел:

SELECT * FROM myproducts PARTITION FOR (9);

Для общего отчета просто опуститераздел и вы получите все номера:

SELECT * FROM myproducts;

Документация здесь: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/vldbg/toc.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...