今までのInnoDB圧縮(ROW_FORMAT= Compress)は InnoDBテーブル圧縮 、新しいやつは InnoDBページ圧縮 としてドキュメントに載っている。
今までのInnoDBテーブル圧縮はzlibのみの対応で、圧縮後のデータの詰め直しなども全部InnoDB側で対応していた。そのデータの詰め直しをファイルシステム側に任せることで、CPUバウンドだった圧縮処理を軽く/圧縮効率を良くしよう、というアレだと認識している。
詳しくはこちら。 InnoDB Transparent PageIO Compression | MySQL
Server Blog
CentOS …
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
概要だけでベンチマークとかしてないです。あとななめ読みなので俺の興味のないところ(空間インデックスとか)はかっ飛ばしてます。
MySQL :: MySQL 5.7 Release Notes :: Changes in
MySQL 5.7.8 (Not yet released)
* innodb_adaptive_hash_index_parts
* Adaptive Hashのラッチを分割できるらしい。暗黙のデフォルトは8 (以前は1固定)
* Adaptive Hashが有効だと性能が劣化する書き込みバウンドのケースで効くか?
* …
日々の覚書: MySQL
5.7.6からSSL周りのセットアップが扱いやすくなった のmysql_ssl_rsa_setup
がそのまま/etc/init.d/mysqld
の中で呼ばれるようになった…というだけの話なんですが、理屈を知らないとエラーログが矛盾してそうに思えることになっていたので解説がてら。
# rpm -i mysql-community-server-5.7.8-0.3.rc.el5.x86_64.rpm mysql-community-common-5.7.8-0.3.rc.el5.x86_64.rpm mysql-community-client-5.7.8-0.3.rc.el5.x86_64.rpm mysql-5.7.8-0.3.rc.el5.x86_64.rpm mysql-community-libs-5.7.8-0.3.rc.el5.x86_64.rpm mysql-community-libs-compat-5.7.8-0.3.rc.el5.x86_64.rpm[さらに読む]
..
# less /var/log/mysqld.log
2015-07-15T07:44:47.363530Z 0 [Warning] InnoDB: New log files created, LSN=45790
2015-07-15T07:44:47.504281Z 0 [Warning] InnoDB: Creating foreign key …
my.cnfの[mysqld]セクションに require_secure_transport
と書いておくと、SSL接続を強要できるらしい。
MySQL :: MySQL 5.7 Reference Manual :: 5.1.4
Server System Variables
# service mysqld restart --require_secure_transport[さらに読む]
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]
$ mysql -uroot
mysql> SELECT @@require_secure_transport;
+----------------------------+
| @@require_secure_transport |
+----------------------------+
| 1 |
+----------------------------+
1 row in …
MySQL 5.7.6から入ったgenerated
column、STOREDで作るとデータ領域に計算後の結果が格納されてインデックスも貼れるようになるというシロモノだったのが、5.7.8ではVIRTUALで作るとデータ領域には計算後の結果が格納されないけど
*インデックスは計算後の値を使って貼れるようになった*
日々の覚書: MySQL 5.7.6のgenerated
columnは関数インデックスの夢を見るか
InnoDB: InnoDB now supports secondary indexes on virtual
generated columns. A secondary index on a virtual generated
column stores the column's generated values within the records of
the index. Such indexes can be scanned and searched more
efficiently than virtual generated columns, which are computed
“on the fly” when rows are read.
…
TL;DR
MySQL
5.7.8には、mysqlpumpなるmysqldumpの後継バックアップクライアントが同梱されている。インデックスの遅延ロードや進捗の出力、パラレルでのダンプなど魅力的な拡張機能が入っている。
ただし、mysqlpumpの方は「全テーブルがInnoDB」「master_info_repository=
TABLE」「relay_log_info_repository= TABLE」「gtid_mode= ONの場合にはMySQL
5.7.5以降であること(OFFの場合はこの制約は入らない)」「パラレルでバックアップする場合は更新を自分で止めておかなくてはならない」であることを前提に作られているため、それを満たさない場合は …
TL;DR
MySQL
5.7.8には、mysqlpumpなるmysqldumpの後継バックアップクライアントが同梱されている。インデックスの遅延ロードや進捗の出力、パラレルでのダンプなど魅力的な拡張機能が入っている。
ただし、mysqlpumpの方は「全テーブルがInnoDB」「master_info_repository=
TABLE」「relay_log_info_repository= TABLE」「gtid_mode= ONの場合にはMySQL
5.7.5以降であること(OFFの場合はこの制約は入らない)」「パラレルでバックアップする場合は更新を自分で止めておかなくてはならない」であることを前提に作られているため、それを満たさない場合は …
出典について
この記事は「Inserting large rows in MySQL and MariaDB」(2015/7/20)を翻訳したものである。
MySQLにおけるLONGBLOBの最大容量は4GBであり、max_allowed_packetの最大値のサイズは1GBである為、私はLONGBLOBを完全に使いきることができるのだろうかと思い立った。
そこでこれをテストし始めた。MySQL Connector/Pythonを使ってPythonスクリプトを書き、MySQL Sandboxを使ってMySQL 5.6.25のインスタンスを作成した。
最初に変えるべき設定はmax_allowed_packetであり、これは予想通りであった。この値は1GBに設定した。
…
[さらに読む]出典について
この記事は「Inserting large rows in MySQL and MariaDB」(2015/7/20)を翻訳したものである。
MySQLにおけるLONGBLOBの最大容量は4GBであり、max_allowed_packetの最大値のサイズは1GBである為、私はLONGBLOBを完全に使いきることができるのだろうかと思い立った。
そこでこれをテストし始めた。MySQL Connector/Pythonを使ってPythonスクリプトを書き、MySQL Sandboxを使ってMySQL 5.6.25のインスタンスを作成した。
最初に変えるべき設定はmax_allowed_packetであり、これは予想通りであった。この値は1GBに設定した。
…
[さらに読む]出典について
この記事はMySQL Step-by-Step BlogのUseful queries on MySQL information_schema(2015/07/15)を翻訳したものです。
MySQLのinformation_schemaはデータベースのインスタンス、ステータス...などなどの日々のDBAの仕事に必要とされる有用な情報を備えている。 私が日々使う基本的なinformation_schemaへのいくつかのシンプルなクエリがあり、私自身が参照するためにこの投稿を書いており、または誰か他の人にも良いリファレンスになるだろう...
主キーまたはユニークキーがないテーブルをみつける
…
[さらに読む]