mkfifo FIFOスペシャルファイルを作成 する
いつの間にか3ヶ月が過ぎ、試用期間を終えたやまうちぇです。こんばんは。
本日は初の16F 全体MTGにも参加し、名実ともにエイチームの一員となった心持ちです。
毎日、毎日、割と遅くまで、イベントリリース日には朝方までいることもしばしばですが、
自分が満足するまで仕事をして帰る生活は、非常に充実感をおぼえます。
私生活とのメリハリも一見ついていないようで、ON・OFFの切り替えはできています。
効率が悪いとの見方もできますが、やはり満足できる仕事の仕方は良いですね。
これ(時間を自由に使えるやり方)に甘えて成長できないのは、個人の責任だと思います。
さて、mkfifo 初めて使いました…
使ったと言っても、MySQL公式サイトのマニュアルどおりですがね。
速度重視、柔軟性をちょこっと兼ね備えたmysqldumpに変わるダンプ・リストア方法です。
今受け持っているプロジェクトでは、日付ごとにわけられたログテーブルから色々集計する分けですが、
ある程度の期間をまとめた集計用の仮テーブルをつくることがあります。
今は、そのテーブルを作るためだけに毎日4, 5時間かかっているのですが、5分程度に抑えれそうですヽ( ´¬`)ノ
(例)外部サーバにあるfrom_tableをローカルのto_tableにコピーする場合
$ mkfifo -m 666 /tmp/pipe
$ echo “SELECT * FROM from_table” | mysql -u root -A -N -h xxx.xxx.xxx.xxx db1 > /tmp/pipe & mysql -u root -e “LOAD DATA INFILE ‘/tmp/pipe’ INTO TABLE to_table” db
ネットワーク、テーブル構成秘密ですが、20万行が2, 3秒で終わりました。
indexを張る作業がいちいち行われないのが早さの理由ですので、使いどころは考えて。
[参考URL]