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