Datastax PreparedStatements的工作原理

And*_*ndy 6 prepared-statement cassandra datastax-java-driver

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

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

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

谢谢

jbe*_*lis 7

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

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

无需为每个查询重新编译语句,从而提高了性能.