Выполнение запроса только с ключом раздела

Влияет ли это на производительность, если при запросе таблицы, содержащей как ключ раздела, так и ключ кластеризации, я предоставляю только ключ раздела?

Например, для таблицы с ключом раздела p1 и ключом кластеризации c1, будет

SELECT * FROM table1 where p1 = 'abc';

быть менее эффективным, чем

SELECT * FROM table1 where p1 = 'abc' and c1 >= 'some range start value' and c1 <= 'some range end value';

Моя цель - получить все строки с p1 = 'abc'.

1 ответ

Основные затраты при переходе к определенной строке по сравнению с определенным разделом - это дополнительная работа и необходимость десериализации индекса ключа кластеризации в начале раздела. Это немного старый и основанный на бережливости, но суть этого остается верной в следующем:

http://thelastpickle.com/blog/2011/07/04/Cassandra-Query-Plans.html(примечание: фильтр цветения на уровне строк был удален)

При чтении с начала раздела вы можете сэкономить немного работы, что улучшит время ожидания.

Я бы не стал сильно беспокоиться об этом, если ваши запросы не охватывают несколько разделов. Тогда у вас, как правило, будут проблемы только в том случае, если размер разделов достигает сотен мегабайт или гигабайт.

Другие вопросы по тегам