• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MYSQLへのデータサイズの大きなデータの挿入)

MYSQLへのデータサイズの大きなデータの挿入

このQ&Aのポイント
  • MYSQLに大きなデータを挿入する方法として、C APIを使用することができます。
  • ファイルの中身をchar型配列に書き出し、配列をクエリにコピーして挿入します。
  • メモリの無駄遣いを避けるために、データを分割して複数回に分けて挿入する方法や、テキストファイルから直接読み込む方法も考えられます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

主目的は、「C APIを使用すること」でしょうか?それとも、「MySQLにテキストデータを格納すること」でしょうか? 後者であれば、アプリケーションのメモリに溜め込まなくても、格納はinsert文でload_file関数を使用、検索はselect文でinto outfileで吐き出すことが可能です。 ちなみに、SQL99で「ロケータ」というデータそのものでなく、ポインタで操作する機能が規定されており、それがMySQLでも実装されれば今回のような操作も軽くなるのですけどね。

fuu-sh
質問者

お礼

教えていただいたload_file関数、into outfileを用いて書き込み、読み出しできました!ありがとうございました!! ファイルサイズが大きすぎるというエラーが出ましたが、max_allowed_packet変数を書き換えることで対応できました。 ただ調べてみたところ、ファイルだけでなくディレクトリにも誰でも読み書きできる権限を与える必要がある、サーバ-クライアント形式のシステムにした場合にファイルを一度サーバ側にコピーしなくてはならないなど、あまり使い勝手がよい関数とは言えないようですね。。

関連するQ&A