MySQL Weekly

毎週月曜朝10時ころ更新、1週間のMySQL情報をまとめます

Update for last week (2019-07-15 ~ 2019-07-21)

月曜日に先週一週間のMySQL関連の更新を再確認するのにご活用ください。

Release note

(https://dev.mysql.com/doc/relnotes/mysql/8.0/en/)

  • Nothing

Bugs

serverity >= S5(Performance)でupdatedでdesc sort、結果の今週分を見る

条件を適用した検索結果

  • nothing

Organization blogs

  • MySQL server blog: https://mysqlserverteam.com/

    • Nothing
  • Percona blog (MySQL): https://www.percona.com/blog/

    • MySQL: The Impact of Transactions on Query Throughput
      • selectだけをするクエリをトランザクションとして実行する(begin, commit等で挟む)とどの程度Throughputが落ちるのかという検証。
      • Percona Server for MySQLを含む5.6~8.0の比較もある。
      • 明示的にトランザクションとして実行した場合、begin, commitでもserver,client間でクエリのやり取りが発生するからThroughputが落ちるよねという結論。
      • 同時に3threadだけの単純なselectで実験したため、versionが上がるごとにThroughputが低下しているが、より新しいバージョンでは並列度を上げた時にパフォーマンスを出せるようにしているからとしている。
    • Assessing MySQL Performance Amongst AWS Options – Part One
      • Cloudの環境選択も含めMySQLインスタンスをどうやって利用するかを選択することはchallengingな課題になってきているよね?ということで、パフォーマンス比較の記事。
      • 以下のMySQLを比較
      • ストレージはio1, gp2でも比較
      • 比較にはsysbench-tpccを500 warehouses/10 tables, 128 threadsで30分間回している
      • この結果だけを見ると RDS InnoDB < ec2 Percona InnoDB < amazon aurora < ec2 Percona RocksDB ということになるけど、configについては全く触れていないので、どんな設定で実験して、どこがボトルネックになったのかは不明(それを書くのは大変なのはわかる)
      • 2部作で次回はcostについても触れるそう
    • MySQL: Disk Space Exhaustion for Implicit Temporary Tables
      • Tmp tableが使われるようなクエリで、そのtmp tableがon memoryで解決できずにtmpファイルに落ちる場合にdisk sizeが問題になるケースの説明と対策
      • まずtmp tableを作る主なクエリに以下のものがある
        • GROUP BY, ORDER BY, DISTINCTをつかう
        • UNION statementの評価がある
        • マージできないVIEWを使う(サブクエリを使うderived tableのため)
        • 複数テーブルにUPDATEをかける
      • 5.6まではtmp_tableのストレージエンジンはMyISAMだったが、5.7以降はInnoDB
        • 大抵の場合InnoDBでよいが、general tableスペースを使っていることで、disk spaceがOPTIMIZE TABLEを実行するかMySQLが再起動されるまでshrinkされない
        • よってdisk fullになるケースがある
      • 解決策(詳細は元記事へ)
        • disk sizeを充分に増やす
        • ibtmp1のサイズに上限のリミットをつける(要再起動)
        • internal_tmp_disk_storage_engine = MYISAMを設定する
          • onlineで変更可能SET GLOBAL internal_tmp_disk_storage_engine = MYISAM;
        • クエリをoptimizeする(slow_logにどれくらいのtmp table sizeが使われたかでるらしい)
    • Assessing MySQL Performance Amongst AWS Options – Part Two
      • 前回の続き。今回はコスト面にフォーカスした内容
      • IOPSやストレージサイズで課金する場合の状況が整理されていそう
  • MySQL道普請: https://gihyo.jp/dev/serial/01/mysql-road-construction-news
  • gihyo.jp MySQL-tag

    • Nothing
  • Yakst MySQL-tag: https://yakst.com/ja/tags/mysql

    • Nothing

Personal blogs


このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません)