В настоящее время я работаю над производительностью базы данных (веб-интерфейса) на C ++ с помощью библиотеки MySqlConnector.
Библиотека имеет собственные типы данных / классы, такие как sql::ResultSet
.
После отправки SELECT
заявления в базу данных вы получаете sql::ResultSet*
(указатель), который я помещаю в sharedpointer: typedef boost::shared_ptr<sql::ResultSet> ResultPtr
Я использую этот указатель несколько раз в разных модулях. Всем нужен результат этой операции. Вы можете называть операции как myResultPtr->getMetaData()->getColumnName(columnindex)
Мой вопрос:
Буферизуются ли операции, подобные описанным выше, или библиотека MySqlConnector всегда запрашивает у базы данных (через соединение) метаданные? Должен ли я создать буфер для этого или ResultSet (особенно метаданные) буферизован?