MySql Connector C ++ ResultSet буферизован - PullRequest
0 голосов
/ 27 апреля 2018

В настоящее время я работаю над производительностью базы данных (веб-интерфейса) на C ++ с помощью библиотеки MySqlConnector. Библиотека имеет собственные типы данных / классы, такие как sql::ResultSet.

После отправки SELECT заявления в базу данных вы получаете sql::ResultSet* (указатель), который я помещаю в sharedpointer: typedef boost::shared_ptr<sql::ResultSet> ResultPtr

Я использую этот указатель несколько раз в разных модулях. Всем нужен результат этой операции. Вы можете называть операции как myResultPtr->getMetaData()->getColumnName(columnindex)

Мой вопрос: Буферизуются ли операции, подобные описанным выше, или библиотека MySqlConnector всегда запрашивает у базы данных (через соединение) метаданные? Должен ли я создать буфер для этого или ResultSet (особенно метаданные) буферизован?

1 Ответ

0 голосов
/ 01 июня 2018

В документах я нашел строку, что все данные буферизируются. Я измерил время на огромных наборах данных и обнаружил, что метаданные тоже должны быть буферизованы.

Вам не нужно создавать буфер для библиотеки MySqlConnector.

...