SQLでテーブルを大量削除する方法
SQLで_tmp_
を含むテーブルを大量に削除する方法を教えてもらったので、メモする。
echo 'show tables;' | mysql -uroot [db名] | grep '_tmp_' > list for x in `cat list`;do echo "drop table $x;" ;done > drop.sql cat drop.sql cat drop.sql | mysql -uroot [db名]
where句で"OR"を使いたい場合(index)
MySQLで"OR"を用いる時のインデックスがわからない。 結局、UNIONでがっちゃんこするしかなさそう。
mysql> SELECT COUNT(*) FROM table WHERE columnA = value1 OR columnB = value2; +----------+ | COUNT(*) | +----------+ | 1616 | +----------+ 1 row in set (9.92 sec) mysql> SELECT COUNT(*) FROM (SELECT * FROM table WHERE columnA = value1 UNION SELECT * FROM table WHERE columnB = value2) T; +----------+ | COUNT(*) | +----------+ | 1616 | +----------+ 1 row in set (0.17 sec)
git tagのいろいろについて
git tagを使う。
git flow release start rev20170620_1 git flow release finish rev20170620_1 git push --tags git tag premaster_`date +%Y%m%d`_rev1 git tag | grep premaster_ # git tagで見れる。
AWSのサーバにSFTP通信を行う。
インフラエンジニアがよく使うコマンド
インフラエンジニアがよく使うコマンドをまとめたページ。 貼っておいて後読もう。
ps axuww # プロセス確認 free -h # メモリ使用率の確認 df -h # ディスク使用率の確認 df -i # i-node確認 top -d1 # 実行中のプロセス確認 sar # CPU使用率の確認 sar -q # ロードアベレージの確認 sar -r # メモリの確認 sar -S # スワップの確認 sar -b # I/Oの確認 sar -n DEV -s 04:00:00 -e 07:30:00 | grep 'eth0' # ネットワークの確認