投稿者「kobayashi」のアーカイブ

Mysqlで大きなデータの高速インポート

様々な解決法がありますが、簡単でしたので共有。
環境:PHP/Mysql
参考:http://qiita.com/studio-kakky/items/a1f943b5476e0cbbe47b

mysqlのデータインポート時、データ量が多くマシンスペックが強く無い場合には
エラーを吐かずウンともスンとも言わない状況に陥る事があると思います。

参考URL内記載のリンク先からBigDump(zipされたPHPファイル)を入手し、
PHPが動く環境でWEBアクセス可能なディレクトリにダンプファイルと共に配置。

アクセスするとダンプファイルがピックアップされているので、
Start Importをクリックしてインポート開始するだけ。

PHPでタイマー制御

【内容】
特定の期間内、処理を変更する。

【用途】
稼働中のサービスでメンテナンスを行う時や、
深夜等の業務時間外に処理を変更したい場合。

//規定期間開始の年月日・時間
$s_time_stamp = mktime(15,0,0,12,30,2016);
//規定期間終了の年月日・時間
$e_time_stamp = mktime(10,0,0,1,4,2017);
//現在時間の取得
$now_time = time();
//2016年12月30日 15時0分0秒~2017年1月4日 10時0分0秒の間、true側の処理を行う
if ($now_time >= $s_time_stamp && $now_time <= $e_time_stamp) {
  //規定期間内の処理

}else{
  //規定期間外の処理

}

ほぼ同じ内容で、トリガーとする日時以降か以前かで処理を分ける場合は下記の通り。

//規定時間を設定(下記の場合は、2017年2月20日 0時0分0秒以降の処理)
$trigger_time_stamp = mktime(0,0,0,2,20,2017);
//現在時間を設定
$now_time = time();
if ($now_time >= $trigger_time_stamp) {
  //規定時間後の処理

}else{
  //規定時間前の処理

}