【问题标题】:How Datastax PreparedStatements workDatastax PreparedStatements 的工作原理
【发布时间】:2013-06-01 11:01:34
【问题描述】:

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

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

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

谢谢

【问题讨论】:

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


    【解决方案1】:

    可以,只需要在准备好报表后发送报表ID和参数即可。

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

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

    【讨论】:

    • 如果连接丢失(或会话以某种方式关闭)并且重新连接后...这些准备好的语句是否适用于新会话?
    • 是的,不过会重新编译。
    猜你喜欢
    • 2019-01-24
    • 2021-03-20
    • 2011-10-26
    • 2017-12-02
    • 2014-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多