3

使用新的本机驱动程序,可以使用字符串或通过QueryBuilder类构造 CQL 查询。

我想知道驱动程序如何处理使用QueryBuilder. 它是向协调器节点传输已解析查询的表示还是只是将构造的查询作为字符串传输?

我问的原因是因为我们以结构化格式指​​定查询。将这种格式转换为基于文本的 CQL 比使用 QueryBuilder 更容易,但如果值得,我们会这样做。

本质上,我的问题归结为:CQL 在哪里解析,在驱动程序中还是在节点上?

4

2 回答 2

3

CQL 全部在 Cassandra 节点上处理。这适用于所有 DataStax 驱动程序。

至于优势,我想说这是一个偏好问题:处理字符串或拥有流畅的 API(具有自动完成、编译时检查等)

于 2013-08-31T06:41:06.690 回答
2

如果我没记错的话,QueryBuilder 只会将您的 CQL 查询创建为字符串并将其发送到 C*,因此使用它并没有真正的性能提升或优势,但您将确保您的 CQL 查询具有正确的语法。如果您正在寻找性能,那么您应该尝试使用准备好的语句,增益相对较小,但它再次取决于您的用例。

于 2013-08-23T09:24:25.317 回答