R + MonetDB - группировка по объему памяти
Я собираюсь начать использовать MonetDB в ближайшее время, но это высокая фиксированная стоимость для переключения с MySQL. Основное обращение составляется в базе данных R.
Вопрос: как объем памяти MonetDB эволюционирует с WHERE и GROUP BY
Рассмотрим следующий случай
"выберите фирму,yearmonth,R_funct_calculate_something(x,y,z,d,e) ОТ monetdb_db.db_table1 ГДЕ yearmonth между группой" 1999-01-01 "и" 2010-01-01 "по фирме, yearmonth"
Кажется, что MonetDB ДОЛЖЕН читать данные, эквивалентные размеру...
(1) [размер (x)+ размер (y)+ размер (z)+ размер (d)+ размер (e)+ размер (фирма) + размер (год / месяц)] * group_size
где размер группы - это размер отдельных членов фирмы, год. Я предполагаю, что в этом случае ограничено в 11 лет *12 месяцев данных.
Для меня очевидно, что мы будем читать только данные по измерению столбца, но кажется менее очевидным измерение строки.
(2) Другая возможность - вместо group_size, он читает ВСЕ СТОЛ в память.
(3) Другая возможность - вместо group_size или всего размера таблицы, она считывает часть таблицы, которая соответствует выражению WHERE.
Что он? Если его (2), то нет смысла переключаться в случае очень очень длинных наборов данных, потому что вся таблица, считываемая в память, побеждает точку данных, превышающих объем памяти, но я думаю, что блестящие умы в MonetDB делая самое умное, что они могут.
Спасибо!