Мы тестируем Apache Impala и заметили, что использование GROUP BY и LIKE совместно работает очень медленно - отдельные запросы работают намного быстрее. Вот два примера:Медленная производительность по запросу Impala с использованием Group By and Like
# 1.37s 1.08s 1.35s
SELECT * FROM hive.default.pcopy1B where
(lower("by") like '%part%' and lower("by") like '%and%' and lower("by") like '%the%')
or (lower(title) like '%part%' and lower(title) like '%and%' and lower(title) like '%the%')
or (lower(url) like '%part%' and lower(url) like '%and%' and lower(url) like '%the%')
or (lower(text) like '%part%' and lower(text) like '%and%' and lower(text) like '%the%')
limit 100;
# 156.64s 155.63s
select "by", type, ranking, count(*) from pcopy where
(lower("by") like '%part%' and lower("by") like '%and%' and lower("by") like '%the%')
or (lower(title) like '%part%' and lower(title) like '%and%' and lower(title) like '%the%')
or (lower(url) like '%part%' and lower(url) like '%and%' and lower(url) like '%the%')
or (lower(text) like '%part%' and lower(text) like '%and%' and lower(text) like '%the%')
group by "by", type, ranking
order by 4 desc limit 10;
Может кто-то пожалуйста, объясните, почему эта проблема возникает, и если есть какие-то обходные пути?
Эти два вопроса кажутся мне совсем разными. Первый просто выбирает записи и нужен только один курсор, второй должен извлекать все записи и запускать как GROUP, так и SORT. Если возвращено очень много записей, это может объяснить разницу во времени. Или я что-то пропустил? – LSerni