dbms: improved performance of filtering [#METR-2944].

This commit is contained in:
Alexey Milovidov 2014-08-17 06:17:23 +04:00
parent cdf4e8d415
commit 435394242c

View File

@ -88,6 +88,15 @@ Block FilterBlockInputStream::readImpl()
if (filtered_rows == 0)
continue;
/// Если через фильтр проходят все строчки.
if (filtered_rows == filter.size())
{
/// Заменим столбец с фильтром на константу.
res.getByPosition(filter_column).column = new ColumnConstUInt8(filtered_rows, 1);
/// Остальные столбцы трогать не нужно.
return res;
}
/// Фильтруем остальные столбцы.
for (size_t i = 0; i < columns; ++i)
{