我正在寻找有关预备语句(ps)livecycle的信息。
我使用apache提供的BasePoolableObjectFactory来建立连接池。然后,使用TSocket和TTransport,我从Cassadra.Client类创建一个对象。该对象具有执行cql3查询的方法。该对象还有准备和执行cql3查询的方法,即我们可以使用thrift编写预处理语句。
准备好的陈述在哪里存储?在数据库服务器中,只要对象存在,它们就存在?
如果它们存储在数据库服务器中,那么如何在不创建它们的情况下获取它们呢? 如果它们存储在对象中,那么当每次查询提交给服务器时,准备了什么?
我问,我想知道何时值得做好准备陈述。因为如果我创建一个预准备语句,执行一次并关闭连接,那么就根本不需要编写预备语句。
答案 0 :(得分:1)
准备语句按连接缓存。 (您可以使用服务器根据准备调用返回的ID来访问它们。)
所以不,使用它们进行一次性查询是没有意义的。这在任何准备好的声明设计中都很常见。