Datastax PreparedStatements的工作原理

时间:2013-06-05 16:25:44

标签: cassandra prepared-statement datastax-java-driver

当我们创建PreparedStatement对象时,它是否缓存在服务器端?与Oracle驱动程序中的PreparedStatement相比有何不同?如果重用了准备好的语句,那么什么数据被发送到Cassandra服务器,只有param值?

据我所知,java驱动程序中的一个Session对象拥有多个与集群中多个节点的连接。如果我们在多个线程中的应用程序中重用相同的预处理语句,是否会使我们只使用一个连接到一个Cassandra?我猜准备语句仅在一个连接上完成...当每个执行调用更新路由键时会发生什么?

使用准备好的陈述有什么好处?

谢谢

1 个答案:

答案 0 :(得分:7)

是的,在准备声明后,只需要发送语句ID和参数。

驱动程序跟踪其连接池中每个服务器的语句ID;它对您的应用程序是透明的。

从不必为每个查询重新编译语句,可以提高性能。