我正在使用MySQL C ++连接器。
它显示了如何进行这样的简单连接:
sql::Driver* driver = get_driver_instance();
std::auto_ptr<sql::Connection> con(driver->connect(url, user, pass));
con->setSchema(database);
std::auto_ptr<sql::Statement> stmt(con->createStatement());
...
我想知道的是。我每次想要执行某些操作时都应该这样做吗?我应该创建一个新的连接对象,执行我的查询,按照结果执行我想要的操作,然后处理所有连接,并在需要执行其他操作时重复这些操作并重复操作?连接对象的范围应该是什么?
对于游戏服务器,服务器将进行登录,注销,会话,记录统计,聊天记录等。
在任何给定时间,游戏服务器在单个线程上运行时只需要1个连接。
由于
答案 0 :(得分:1)
基本上,您可以在应用程序启动时获取驱动程序实例并仅创建一个连接, 并将它们保存在任何变量中(例如,您自己风格的单例变量), 并在执行查询时使用连接变量。