PostgreSQL:保持连接打开或在需要时创建

时间:2019-02-07 14:22:10

标签: postgresql libpqxx

我有多个C ++类代表我的postgresql表。每个类都可以对关联的表执行请求:

class MyTable : Table<MyDataType> {
    public:
        MyTable();
        ~MyTable();

        int add(std::vector<MyDataType> list);
        int remove(std::vector<MyDataType> list);

    };
}

为每个方法创建一个新的连接而不是每个类仅处理一个连接是否可以接受? 像

int MyTable::add(std::vector<MyDataType> list)
{
    pqxx::connection c(PQ_CONNECTION_STRING);
    // Do some request
    c.disconnect()
}

int MyTable::remove(std::vector<MyDataType> list)
{
    pqxx::connection c(PQ_CONNECTION_STRING);
    // Do some request
    c.disconnect();
}

除了建立连接之外,还有其他缺点吗?我在文档中没有发现任何反对的迹象。

我是否应该在构造函数中打开连接并在析构函数中关闭它,即使那意味着保持连接为零打开?

谢谢

0 个答案:

没有答案