SELECT name FROM tab1 WHERE id > 5 ALLOW FILTERING;
не выдаст ошибку, так как вы используете allow filtering
. Если ваши запросы требуют использования allow filtering
, то вам необходимо изменить дизайн таблиц в соответствии с запросами. Разрешить фильтрацию - неэффективный способ запроса ваших таблиц, особенно на производстве. пожалуйста, отметьте здесь
SELECT name FROM tab1 WHERE id > 5;
даст вам ошибку
[Invalid query] message = "Невозможно выполнить этот запрос, так как он может включать фильтрацию данных и таким образом может иметь непредсказуемую производительность. Если вы хотите выполнить этот запрос, несмотря на непредсказуемость производительности, используйте ALLOW FILTERING "
Причина в том, что; Кассандра не работает так, как работает реляционная база данных. Структура таблицы не позволяет вам выполнять любой запрос, который вы хотите, поэтому вы смоделируете свои таблицы в соответствии с запросами.
Пожалуйста, проверьте здесь детали предложения where . Как указано в документации The partition key columns support only two operators: = and IN
, в вашем случае вы используете greater
, что приводит к ошибке.