1

我正在寻找有关准备好的语句(ps)生命周期的信息。

我正在使用 apache 提供的 BasePoolableObjectFactory 来制作连接池。然后,使用 TSocket 和 TTransport,我从 Cassadra.Client 类创建一个对象。该对象具有执行 cql3 查询的方法。该对象还具有准备和执行cql3查询的方法,即我们可以使用thrift制作准备好的语句。

准备好的语句存储在哪里?在数据库服务器中还是只要对象存在它们就存在?

如果它们存储在数据库服务器中,我该如何获取,而无需再次创建它们?如果它们存储在对象中,那么在每次向服务器提交查询时准备什么?

我在问,因为我想知道什么时候值得做准备好的陈述。因为如果我做一个prepared statement,执行一次并关闭连接,那么根本不需要做prepared statements。

4

1 回答 1

1

准备好的语句是按连接缓存的。(您使用服务器作为准备调用的结果返回给您的 id 访问它们。)

所以不,将它们用于一次性查询是没有意义的。这在任何准备好的语句设计中都很常见。

于 2013-05-27T19:49:14.667 回答