質問: 文字列型のカラム数が5列のデータベースに1000万レコードが格納されています。特殊なデータベースでc++プログラムから、カラム名を指定して取得する関数のみ用意されており、vectorにカラムの内容がコピーされます。
回答: 「カラム名を指定して取得する関数」この詳細がよくわかりません。 1カラムしか情報がとれないのなら、連動検索など無理では?複数カラムの全行出力なのだろうか? 「カラムの値を指定して検索結果出力」が全く出来ないなら、別のSQLデータベースに移してしまったほうが最終的運用は、速いと思われる。アプリケーション側で検索や集計するのは、とても無駄が多いです。そもそも1000万レコード全部取り出しってメモリ的にも負担がかかりますし。