【これだけ覚えてほしい】mysqlのちょっとした技

1、indexをちゃんと設計して張る
mysqlが基本的に一回の検索で一個のindexしか使えないから、検索条件でindexをしっかり設計することが重要です。
例えば、テーブルexampleに、col1とcol2で検索したい場合、
1 |
mysql> select * from example where col1='hoge1' and col2='hoge2'; |
indexを使いたければ、col1、col2の順番でindexを作らなければなりません。
1 |
mysql> create index example_col1_col2 on example (col1, col2); |
2、重要なデータをupdateするには、LOCK TABLESをかける
例えば、ユーザのポイントデータを更新するとき、データを取得していて更新はまたしていないの間に、
他のプロセスによってそのデータが更新してしまったら、ズレが生じますから、念のため、LOCK TABLESをかけましょう。
1 |
mysql> lock tables user_point write; |
3、今動いているプロセスの確認
1 |
mysql> show processlist; |
プロセスの強制終了
1 |
mysql> kill [mysql thread id]; |
4、万が一mysqlが再起動できなかったら
OSでmysqlのプロセスが残っているかを確認
1 |
ps ax | grep mysql |
残留のmysqlプロセスが見つけたら、killをする
1 |
kill -9 [os mysql process id] |
そしたら、mysqlの起動コマンドをかける
1 |
/etc/init.d/mysqld start |