C# Cassandra允许在C中进行过滤

C# Cassandra允许在C中进行过滤,c#,cassandra,cql,C#,Cassandra,Cql,首先,我不熟悉卡桑德拉数据库,并且已经阅读了手册。现在,我正在构建一个基本页面,以便在新数据库中插入和选择几行。数据库仅包含1个表,一个用户表如下所示: 接下来,我使用以下代码从此表中检索数据: Connect(); Row result = session.Execute("select * from users where last_name ='Jansen'").First(); Console.WriteLine("{1} {2}", r

首先,我不熟悉卡桑德拉数据库,并且已经阅读了手册。现在,我正在构建一个基本页面,以便在新数据库中插入和选择几行。数据库仅包含1个表,一个用户表如下所示:

接下来,我使用以下代码从此表中检索数据:

        Connect();
        Row result = session.Execute("select * from users where last_name ='Jansen'").First();
        Console.WriteLine("{1} {2}", result["first_name"], result["last_name"]);
        cluster.Shutdown();
每当执行select语句时,都会出现以下错误:

'Cassandra.InvalidQueryException' occurred in Cassandra.dll
其他信息:无法执行此查询,因为它可能涉及数据筛选,因此可能具有不可预测的性能。如果要在性能不可预测的情况下执行此查询,请使用“允许筛选”

但我从手册中了解到,允许过滤不应应用于此查询,所以基本上为什么会发生这种情况

我更重要的问题是,我如何修正这个错误

更新:表架构如下所示, 表用户 用户id文本主键, 名字文本, 姓氏文本

但我从手册中了解到,允许过滤不应应用于此查询,所以基本上为什么会发生这种情况

恐怕你的理解是错误的。您希望对非主键列进行筛选。在Cassandra中,您需要为此添加允许过滤

你能试试吗 从last_name='Jansen'允许筛选的用户中选择*

但请记住,这相当于
从用户中选择*并从结果中筛选数据。因此,这是一个非常繁重的操作,会对性能造成巨大影响。

您能给我们提供表架构吗?@Will-Yes,updatedOh-Yes,您是对的。我忽略了允许对非主键字段应用筛选的要点。