Почти 16 секунд на 52 миллиона строк выглядит как-то очень медленно. Тестировали ли вы это на большем объеме? Будет ли оно пропорционально замедляться?
Ну и как я понимаю, весь column-based датасет целиком влезает в память виртуалки (т.е. получаем 16 секунд перелопачивания in-memory данных), а row-based уже нет, и системе приходится читать с диска (что сильно все замедляет).
У Microsoft есть рекомендация не объединять column-based таблицы. Эти тоже не стоит, но в следующей части попробую. В целом, они подходят для агрегирующих запросов, где надо быстро достать данные и сделать нужные вычисления. В общем, думать надо над схемой.
Вокруг Света за 4 Секунды на Columnstore (Часть 1)