MySQL

1つインデックスを作成したらINSERT&UPDATEはどれぐらい遅くなる?

遅いSQLのチューニングをしており、色々分析を進めた結果、新しいインデックスを作成すれば改善する見込みがたちました。 そこで新しいインデックスを作成する準備をしていたところ、QAチームの人から 「インデックスを作成するとINSERTとUPDATEが遅くなるは…

最もカーディナリティの高いカラムをインデックスの一番左に置けばよいわけではない

SQLチューニングをしている中で、なぜかインデックスをうまく使ってくれないクエリがあり、色々調べたところ『最もカーディナリティの高いカラムをインデックスの一番左に置けばよいわけではない』ということがわかったので、メモとして残したいと思います。…

MySQLのB+treeインデックスの復習

最近あるプロダクトの性能改善をおこなっており、その中で特にMySQLのチューニングを担当しています。 RDBのチューニングといえばまずはインデックスです。「インデックスを作成すれば早くなる!」というのは感覚的にはわかっているのですが、インデックスが…

MySQLの.mylogin.cnfを使ってみる

今まではMySQLの接続情報を .my.cnf に保存して楽をしていましたが、 .mylogin.cnf という形式があるというのを恥ずかしながら最近知りました。 .my.cnf と .mylogin.cnf は、どちらも MySQL サーバーへの接続に使用される設定ファイルです。認証情報を保存…

AWS RDS(Aurora MySQL)のスロークエリログをpt-query-digestで解析する

✨目的や背景 MySQLのパフォーマンスチューニングをする際に、pt-query-digestでスロークエリログ(以下、スローログとする。)を分析をするのはわりと一般的だと思います。 pt-query-digestを使用するには生のスローログファイルが必要ですが、AWS RDSのスロー…