回答受付が終了しました

ID非公開

2020/8/1 22:21

11回答

文字列型のカラム数が5列のデータベースに1000万レコードが格納されています。特殊なデータベースでc++プログラムから、カラム名を指定して取得する関数のみ用意されており、vectorにカラムの内容がコピーされます。

文字列型のカラム数が5列のデータベースに1000万レコードが格納されています。特殊なデータベースでc++プログラムから、カラム名を指定して取得する関数のみ用意されており、vectorにカラムの内容がコピーされます。 1列目をキーに他列を検索する処理を作りたいとき、どうするのが一番処理が速いですか?vectorをループしてmapに格納する処理だと、それだけで30分以上かかりました。 vectorからmapへコピーできるような事ができるといいのですが

補足

間違えました。1列目と2列目の組み合わせをキーとして3〜5列目を検索したい場合の話です。

回答(1件)

0

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