1963 件中 421 - 430 件を表示
« 前の 10 件 | 次の 10 件 »
Displaying posts with tag: MySQL (reset)
MySQL5.xではデッドロックだけど8.0では死なないよ

はじめに

タイトル通り、MySQL5.x系だとデッドロックになるんだけど、 MySQL8.0だとロック機構が変わってデッドロックにならないよ という組み合わせのお話。

僕はこの話をどっかで見た記憶が無かった(忘れた?)ので 教えてもらったとき結構驚いたんだけど、GA(8.0.11)では 既にこれがあったんで、まあ古い話なんだと思うし、 何をイマサラなのかもしれないので、ご存じの方は笑ってやってください。

ちなみに、REPEATABLE READでのお話なので、 READ COMMITTEDの場合は5系でも …

[さらに読む]
「MySQL徹底入門 第4版」が出るよ

「MySQL徹底入門 第4版」が 7/6 に発売される。🎉

www.shoeisha.co.jp

電子書籍は翔泳社の直販がDRMフリー(たぶん)だからオススメ。

著者用見本誌も届いたので、さすがにこれからやっぱり発売できませんでした!ってことにはならないと思う。

長かった。 本当は去年出る予定だったんだが、なんやかんやで今年になった(よくある)。

第3版が出たのが 2011年だから、実に9年ぶり!

偶然にも第3版と同じ 544ページなんだけど、1ページ辺りの文字数は増えているので情報密度は増しているはず(そしてその分価格も上がってる)。 (ただしくは552ページらしい。)

[さらに読む]
performance_schema.data_locks.ENGINE_LOCK_ID is 何

TL;DR

  • MySQL 8.0.20のInnoDBにおいては row->lock_trx_immutable_id ":" row->lock_space ":" row->lock_page ":" row->lock_rec ":" row->lock_immutable_id らしい
  • ちなみにこのENGINE_LOCK_ID(実体は pk_pos_data_lock::m_engine_lock_id ?)を真面目に実装しているのはInnoDBだけっぽく見える
    • NDBCLUSTERは読んでない

[さらに読む]
『MySQL徹底入門第4版』が 本当に 出ます!(MySQL 8.0 対応)

MySQL を知りたい人向けの定番入門書として名高い『MySQL徹底入門』という本があります。2020年6月現在、第3版が出ていて、その発行は2011年、対応バージョンがMySQL 5.5でした。 そして来月 2020年7月。待望の第4版が出版されます。 第4版は、過去3つの版のコンセプトを引き継ぎつつ、全体にわたって1から書き起こした本です。当然 最新の MySQL 8.0 に対応。9年に1度の最高のできあがりであり、MySQL 8.0 を知りたい人には絶対にお勧めの一冊と言ってよいかと思います。 なお、今更ですが一応表明しておくと、このエントリーは、私の主観に基づいたものであり、著者として…

OSC2020-Online Hokkaido 参画

オープンソースカンファレンス(OSC)2020 Online Hokkaido に参加してきました。
event.ospn.jp

 もともと、「普通」に札幌現地で開催される予定だったイベントですが、「新しい普通」にオンラインで開催へと変更されました。飛行機等を早めに取っていたので、キャンセル代が心配でしたが、最終的にキャンセル代なしで取りやめることができました。 …

[さらに読む]
最近のMySQLにテンポラリーなファイル/ディレクトリを指定するオプションが多い気がする件

TL;DR

[さらに読む]
utf8mb3なマスターに絵文字を突っ込んだ時にバイナリログってどうなるんだっけ

TL;DR

  • マスター上で、3バイトUTF-8なカラムとコネクションのcharsetの対応(いずれもsql_mode = ‘STRICT_TRANS_TABLES’ でない )
SET NAMES utf8 SET NAMES utf8mb4
utf8なカラム 絵文字から後ろが切れる 絵文字が ‘?’ になる
utf8mb4なカラム 絵文字が ‘????’ になる 絵文字が入る
  • マスターが3バイトutf8でスレーブが4バイトutf8(utf8mb4)の場合と↑の対応
ROW STATEMENT
マスターでは後ろが切れた
[さらに読む]
パーティションほとんどわからんので触ってみた

パーティショニングしたテーブルの確認方法

MySQL触ってて、実は仕事上では一度も触ったことがなかったパーティショニング。

(だって、色んな人が使えないって言ってたんだもん)

だけど、意外と世の中使ってる人は多いので今後のためにもパーティショニングしたテーブルの確認方法を色々見てみました。

まずはパーティションテーブル作る

ドキュメントからテーブルを拝借しました。

[さらに読む]
MySQL 8.0.13とそれ以降ではibtmp1は肥大化しない(あるいは、 /var/lib/mysql/#innodb_temp ディレクトリの正体)

TL;DR

  • MySQL :: MySQL 8.0 Reference Manual :: 15.6.3.5 Temporary Tablespaces
  • MySQL 8.0.13とそれ以降ではテンポラリーテーブルの実データ格納に「セッション単位のテンポラリーテーブルスペース」が使われるようになった
    • セッションが終われば領域が解放されるので、ibtmp1のように「mysqldを再起動しないとDisk Fullから復帰できない」ことがなくなった
    • この「セッション単位のテンポラリーテーブルスペース」の格納ディレクトリが datadir/#innodb_temp ディレクトリ

PoC

### ダミーデータを1000万行ほど
$ perl -MDigest::MD5 -E 'for (my $n= …
[さらに読む]
MySQL道普請123回のUPDATE前にロッキングリードの話を読んでの感想と実験(追試)の結果

 gihyo.jpの連載「MySQL道普請便り」の最新回(第123回)は、ロッキングリード(SELECT ~ FOR UPDATE)のつかいどころのお話が興味深かったです。

gihyo.jp


 乱暴に要約すると、例えば 5000枚のチケットを捌くUPDATEは、いきなり UPDATE するのではなくて、SELECT ~ FOR UPDATE でロックを取ってからUPADTEすると、同時実行数が大きくなっても遅くならないぞ、という内容です。人気のあるチケットの販売って、瞬時に大量の更新が走りますからね。 まさにチケットを捌くと、あっという間に砂漠みたいに何もなくなります。ひと仕事終えた人たちはデザートでもどうぞ。砂漠だけに。

[さらに読む]
1963 件中 421 - 430 件を表示
« 前の 10 件 | 次の 10 件 »