У меня есть таблица финансов (столбец: дата, месяц, квартал, amount_usd, col1, col2, col3).Запрос таблицы, содержащей миллионы строк из базы данных Oracle
Просто запрашивая ...
select sum(amount_usd) from finance
group by date
... занимает 7 сек
select sum(amount_usd) from finance
group by month
... занимает 6 сек
select sum(amount_usd) from finance
group by quarter
... занимает 5 сек
Итак, я подумал о Data Warehouse
Я создал временную размерность корня и иерархию как
- дату как ребенок месяца
- месяц, как ребенок квартала
Теперь я застрял ...
Что будет быть моим фактом? И как запрашивать данные из таблицы фактов?
Это может быть очень простой вопрос. Но я новичок в этом.
Благодаря
Это большой шаг от «моих запросов выполняется медленно» до «Мне нужен хранилище данных». Сколько строк «миллионы», и вы уже пытались повысить производительность за счет использования индексирования, секционированных таблиц или других методов? Хранилище данных, вероятно, будет использовать очень похожие запросы к тем, которые вы описали, поэтому вам может потребоваться более конкретная информация о том, что вы ожидаете отсюда. – Pondlife
Столбец даты выглядит так, будто это идеальный столбец для разбивки данных. –
@Pondlife ... на самом деле я хотел знать .. как мои измерения помогают в производительности ... например, я создал временное разметку, но когда я его использую ... Таблица фактов может быть моей финансовой таблицей .. или я имею иметь отдельный ... и да, все индексирование там в таблице будет иметь примерно 1 миллион строк .... так что мои простые запросы занимают время и думают о наличии концепции хранилища данных ....Спасибо – Avi