Lapis Lazuli

technical blog for web developer

データベース

MySQL5.6がEOLに

まだまだ使っているところが多いと思われるMySQL5.6が2021年2月のEOLになります。www.mysql.com意外に早いなーと思いましたが、ExtendedSupportはGAから8年なので、リリースされたのは2013年なんですね。 移行するのでしたら、5.7は2023年10月までいけるので…

MySQLのB-Treeインデックスを理解する

MySQLのインデックスには一般的にB-Treeインデックスというものが使われています。 BTreeはインデックスのアルゴリズムなのですが、今回は何故これが一般的なのかについてです。 B-Treeとは インデックスは実テーブルのデータを素早く探す為の索引ですが、ア…

【DB】トランザクション分離レベルには気をつける

DBのパフォーマンスが問題になり、かつトランザクションを使用している時には、トランザクション分離レベルがパフォーマンスを落としている可能性があります。 普段はここを意識する事は少ないと思いますが、最近パフォーマンス調査で触れる機会があったので…

【DB】DB負荷はフラグメンテーションを疑え

最近インフラDevOpsしかやってないので今回もそっち方面のネタで・・・DBが高負荷になってサービスのパフォーマンスが著しく落ちるというのは、Webサービスを運用しているとよくある事だと思います。Webサーバーがボトルネックになることもあるのですが、大…

【SQL】大量のinsert処理DBに投げたときに時間を短縮する方法

それは突然起きた・・・ こんにちはユウスケです。 ちょっと前に、大きめのCSVをDBにインポートする処理を仕事で作りました。 処理自体はGoでCSVを1行ずつ読み取ってデータベースにinsertするというシンプルなものでしたが・・・とてつもなく遅いという問題…