6

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

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

使用准备好的语句有什么好处?

谢谢

4

1 回答 1

7

是的,只需要在准备好对帐单后发送对帐单ID和参数即可。

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

好处是不必为每个查询重新编译语句,从而提高了性能。

于 2013-06-06T04:40:03.500 回答