2008年10月18日土曜日

必要な要素技術の検討

1.MySQL付属のクライアントツールを用いて、指定テーブルをテキストに変換し、任意のファイル名で保存する技術的な課題の明確化

(1)最高のスピードを求めるので、dumpコマンドを用いる

(2)dumpコマンドによって任意のデバイスに任意のファイル名に出力できる
※select ~ into outfile構文を使う手もあるが、これは出力ファイルはSQLサーバー内に限定されるだけでなく、同名ファイルがあるとエラーになるので、事前に同名ファイル対策を別のシステムによって施す必要があるので、ローカルネットワークに限って使用する場合を除いて、実用的とは言えない。

(3)しかし、dumpコマンドの泣き所は、レコードだけを抽出する機能がない点である。
必ずSQL文を伴う。オプションで変化可能の部分もあるが、いずれにせよレコードの中身だけCSV形式で一発でテキスト出力することは無理である。
そこで、dumpコマンドで出力したファイルを加工する技術が必要である。

これにも様々な方法が考えられる。
①文字列処理をするスクリプトで処理し、直接CSV形式のファイルを作成する。
②クライアントローカルにMySQLをインストールしておき、一旦ローカルのテーブルに吸い上げてから、ローカルのMySQL機能をつかってファイル出力する。