銀河鉄道~ぽんこつエンジニアのブログ~

思いつきで書いています。

2018-01-01から1年間の記事一覧

sql_mode=STRICT_TRANS_TABLESにはまった話

MySQL5.6からSQLモードに「STRICT_TRANS_TABLES」がデフォルトで追加された。MySQL :: MySQL 5.6 リファレンスマニュアル :: 1.7.3.3 無効データの制約これに関連して、プロシージャーの実行にはまったのでメモ。環境は以下の通り。 ・MySQL5.7 ・クライアン…

MySQLパフォーマンスチューニング

その1 ボトルネックをみつける。 Explainにを読んでどこに時間がかかっているか確認する。 対象SQLのJOINを一つずつ外してみる。 その2 インデックスの検討。 正しいインデックを使っているか。 複合インデックスを使う。 余計なインデックスを外すそ…

「羊と鋼の森」を読んだ。

バイブルにしたい本に出会いました。 文体が軽やかで、すらすら読めます。すらすら読めすぎて、気がついたら物語に引き込まれてました。 登場する主人公含め調律師4人は、それぞれ人間的で、それでいて魅力的です。 音楽、ピアノ、技術。苦悩、葛藤、憧れ。…

MySQL5.7でSELECTでロックが保持されてしまう

MySQLで日次バッチ実行中に、ロック待ちタイムアウトが発生しエラーとなりました。 java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction 原因はもう一つ裏で動いていたプロシージャーB。 そのプロシージャー内の処理で、以下の…

MySQL MEMORYストレージエンジンとテンポラリテーブルについて

MySQLは、テーブル作成の際、いくつかのストレージエンジンから選択することができます。 デフォルトはInnoDB。その他、MyISM、MEMORYなど様々な種類があります。 MEMORYストレージエンジンは、格納されたデータがすべてメモリ上に保持されます。 InnDBやMyI…