タグ InnoDB
人気順 5 users 10 users 100 users 500 users 1000 usersMySQL(InnoDB)のSQLパフォーマンスチューニングのエッセンス
はじめに MySQL(InnoDB)でSQLのパフォーマンスチューニングをするときに役に立つ知識をエッセンスとしてまとめました。結合(JOIN)やB-treeインデックスの探索の仕組み、実行計画の基本的な見方を紹介します。 想定する読者は、SQLのパフォーマンスを改善する必要があるが実行計画をみてもいまいちピンと来ない方です。イ... 続きを読む
MySQL で複合インデックスを作成する際には必ず Explain の key_len を確認すべきという話
「Rails Developers Meetup 2018 で「MySQL/InnoDB の裏側」を発表しました」でちゃんと触れられてないので今更ながら key_len について補足します。発表で触れた内容については言及しないので、storage engine や B+ tree といった用語がよくわからない方は発表内容を参照してください。 なお、MySQL のバージョンは 5.... 続きを読む
MySQLでプライマリキーをUUIDにする前に知っておいて欲しいこと | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
こんにちは、羽山です。 今回は MySQL のプライマリキーに UUID を採用する場合に起きるパフォーマンスの問題を仕組みから解説します。 MySQL(InnoDB) & UUID のパフォーマンスについては各所でさんざん議論・検証されていますが、論理的に解説した記事が少なかったり一部には誤解を招くようなものもあるため、しっかり... 続きを読む
MVCCとInnoDBでの実装について - shallowな暮らし
こんにちは。id:shallow1729です。先日はredo logを中心にストレージエンジンについて解説を行いましたが、今回は同時実行制御、特にMySQLなど多くのデータベースで採用されているMultiversion Concurrency Control(MVCC)という技術にフォーカスしようと思います。 今回の記事ではまず前半でMVCCというものがどういうも... 続きを読む
MySQL データベースの負荷対策/パフォーマンスチューニング備忘録 インデックスの基礎〜実践 - Qiita
Help us understand the problem. What is going on with this article? TL;DR この記事に書いた事 二分探索木のお話(前提知識) MySQLのInnoDBで利用されているB+木インデックスの構造と特性 (前提知識) MySQLのClusteredIndex,SecondaryIndexについて(前提知識) カーディナリティについて(前提知識) 実際の負荷対策 検... 続きを読む
InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮) 1. Copyright © GREE, Inc. All Rights Reserved. InnoDBのすゝめ(仮) Takanori Sejima 2. Copyright © GREE, Inc. All Rights Reserved. 自己紹介 ● わりと MySQL のひと ● 3.23.58 から使ってる ● 前職の頃、10年以上前は、 MMORPG の DB の設計などもやってました ● むかしは Resource Monito... 続きを読む
InnoDB はどうやってファイルにデータを保持するのか | バベルの図書館は完成しない
Extended outer memory module for my poor native memory. View: GitHub furuhama About: me Posts: 2019/04/29 InnoDB の B+Tree Index について 2019/04/29 InnoDB における index page のデータ構造 2019/04/28 InnoDB はどうやってファイルにデータを保持するのか 2019/01/06 Designing Data-Intensive Application... 続きを読む
MySQLでSELECT FOR UPDATEと行ロックの挙動を検証してみた - JUST FOR FUN
どうも、今日も今日とて野毛で飲みながらブログを書いている@okwraです。 今日は、普段あまり意識してこなかったMySQLのInnoDBでのロックの振る舞いについて色々実験してみました。(もちろん、きっかは自分がドツボにはまったから) ちゃんと理解するためには「共有・排他的ロックとは」って話や、「行ロックってつまり... 続きを読む
innodb_thread_concurrencyに関する話 | GREE Engineers' Blog
こんにちわ。せじまです。今回の話は軽く書こうと思っていたのですが、長くなりました。まぁInnoDBの話なのでしょうがないですね。 はじめ 今回はinnodb_thread_concurrencyについてお話しようと思います。できれば、事前にInnoDB の mutex の話(入門編)を読んでいただいた方が、より深く理解していただけるのではない... 続きを読む
Rails Developers Meetup 2018 で「MySQL/InnoDB の裏側」を発表しました - あらびき日記
Rails Developers Meetup 2018: Day 1 で「MySQL/InnoDB の裏側」と題して SELECT クエリの実行フローや InnoDB のインデックス周りの発表しました。 MySQL with InnoDB のインデックスの基礎知識とありがちな間違い + α の内容です。 MySQL/InnoDBの裏側 from Takeshi Arabiki Nested Lo... 続きを読む
MySQL InnoDBの領域管理 - Qiita
武蔵野Advent Calendar 2017の20日目の記事です。品川から参加しています。 今日はMySQL InnoDBの領域管理について勉強し、いくつか動作例を見ながらInnoDBに対する理解を深めていきたいと思います。アプリケーション開発者やデータベース管理者の方にとって明日から使えるノウハウとはいきませんが、いつか何かの役に立つ日がくれば幸いです。 まとめ InnoDBにはテーブルスペー... 続きを読む
MySQL(innodb)の分離レベルごとのanomalyについて実験した - tom__bo’s Blog
2017 - 12 - 11 MySQL(innodb)の分離レベルごとのanomalyについて実験した MySQL Database ※ この記事は MySQL Casual Advent Calendar 2017 の11日目の記事です。 A critique of ANSI SQL isolation levels を読んで( 読んだブログ )、 MySQL ( innodb )で分離レベル... 続きを読む
B TreeとB+ Treeの違い - Carpe Diem
2017 - 05 - 17 B TreeとB+ Treeの違い MongoDB MySQL 概要 インデックスに対してMongoDBはB Treeを採用し、 MySQL の InnoDB はB+ Treeを採用しています。 どうして採用している アルゴリズム が違うのだろう?と思って調べてみました。 主な違い B+ TreeはほとんどB Treeと同じですが、以下の点が異なります。 リーフノード... 続きを読む
MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ
2017 - 04 - 18 MySQL with InnoDB のインデックスの基礎知識とありがちな間違い こんにちは、サービス開発部の 荒引 ( @a_bicky ) です。 突然ですが、RDBMS の既存のテーブルを見てみたら「何でこんなにインデックスだらけなの?」みたいな経験はありませんか?不要なインデックスは容量を圧迫したり、挿入が遅くなったりと良いことがありません。 そんなわけで、今回... 続きを読む
MySQL関連のパラメータ(主にInnoDB)について - hiroi10の日記
MySQL このエントリは MySQL Casual Advent Calendar 2015 の10日目のエントリです。 先日のMySQL Casual Talks Vol8で@karupaneruraさんがパラメータの振り返りのような発表をされていたので、昨今あまり書かれなくなったMySQLに絡む設定パラメータについて書きます。それなりのメモリ(32GBとか)やSSDとか使ってる事を前提にした... 続きを読む
世界の何処かで MySQL(InnoDB)の REPEATABLE READ に嵌る人を1人でも減らすために | tech.kayac.com - KAYAC engineers' blog
tech.kayac.com Advent Calendar 2015 8日目担当の @m0t0k1ch1 です。 今年は MySQL さんにいろいろ泣かされた1年でした。特に、あの夏、幾夜をともにした実行計画のゆらぎは一生忘れな(ry さて。。。今回は、そんな中でも誰もが一度は嵌るであろう(?)MySQL(InnoDB)の REPEATABLE READ の嵌りどころについて自分なりにまとめてみ... 続きを読む
InnoDBのウォームアップに別サーバでdumpしたib_buffer_poolを使ってみる - mikedaの日記
2015-09-21 InnoDBのウォームアップに別サーバでdumpしたib_buffer_poolを使ってみる MySQLでスレーブを複数台並べている。 負荷増加やサーバ障害で新規スレーブを追加したい。 で、構築したばかりのMySQLスレーブをいきなりサービスに突っ込むとどうなるか。 それなりの規模のサービスであれば、buffer_poolが空っぽのDBだとIOがつまってサービスの応答遅延が発... 続きを読む
InnoDBの透過的ページ圧縮(MySQL Server Blogより) | Yakst
免責事項 この記事はSunny Bains氏によるMySQL Server Blogの記事「InnoDB Transparent Page Compression」(2015/8/18)をユーザが翻訳したものであり、Oracle公式の文書ではありません。 鋭敏な読者の皆様はInnoDBはMySQL 5.1のInnoDBプラグインから既に圧縮機能をもっていることに気がついているだろう。我々は「ページ... 続きを読む
MySQL 5.7の新機能完全リスト | Yakst
MySQL 5.7には150を超える新機能がある。 MySQLのマニュアルはとてもいいものだが、少し長すぎる。これは、新機能の箇条書きリストだ。それぞれの機能について1つずつまとめるように頑張ってある。なので、InnoDBのネイティブパーティショニングについては、InnoDBの項にはなく、パーティショニングの項に載っている。 MySQL 5.7.8 RC2はここからダウンロードできる それか、yu... 続きを読む
MySQL 5.6のインストール後にチューニングすべき項目 | Yakst
数々のデフォルト値の改善によって、過去のバージョンと比べてMySQL 5.6では設定しなくてはならない値がかなり減った。とは言え、変更すべきものについてここで書いておきたい。 InnoDBの設定 innodb_buffer_pool_size - デフォルトは128M。これは、メモリにロードされるデータとインデックスのためにInnoDBがどのくらいメモリを使うかを指定するものなので、設定すべき重要... 続きを読む
日々の覚書: kamipo traditional (というかSTRICT_ALL_TABLES) では防げないMyISAMという名の化け物
2015年7月9日木曜日 kamipo traditional (というかSTRICT_ALL_TABLES) では防げないMyISAMという名の化け物 TL;DR kamipo traditionalですら完全に防ぎきれないアレがあるので、そこを気にするなら出来る限りさっさとMyISAMからInnoDBに引っ越しましょう。 これらの記事を読んだ人向けです。 ルーク!MySQLではkamipo T... 続きを読む
DB改造屋雑記: DBT-2 で MySQL と他のRDBMSの性能比較をしている人に騙されないように注意
2015年7月6日月曜日 DBT-2 で MySQL と他のRDBMSの性能比較をしている人に騙されないように注意 一応、立場的には第三者に戻った(MySQL/InnoDBの性能追求が仕事ではない)ので、忘れられない暗い過去にも触れてみようと思います。 未だに騙されている人が多いみたいなので、MySQL/InnoDBの名誉のために書き残さなければなりません。何度でも言いますが、性能比較は自分の目的... 続きを読む
Facebook の DB エンジニアが語る、InnoDB が優位性を失った理由 | Epitome
InnoDB に限った話じゃなくて、Oracle の MySQL に対する姿勢とも言い換えれる。Domas のこの文が的を射ていると思った。 While Oracle orients MySQL towards proprietary file systems and hardware devices, we will see more and more new platforms on top ... 続きを読む
外部キー制約に伴う小話
Transcript 1. 外部キー制約に伴う ロックの小話 2015/2/13 「外部キー Night」 @ichirin2501(いちりんちゃん) 1 2. はじめに 2 検証環境 ・MySQL 5.5.28 ・ストレージエンジン InnoDB ・トランザクション分離レベル REPEATABLE-READ, READ-COMMITTED ! 時間の都合上インデックスの話は割愛 3. スライドの... 続きを読む
第1回 MySQLにおける開発の歴史と最新動向:MySQLをチューニング,そしてスケールアップ/スケールアウトへ|gihyo.jp … 技術評論社
MySQLをチューニング,そしてスケールアップ/スケールアウトへ 第1回 MySQLにおける開発の歴史と最新動向 2015年2月3日 梶山隆輔 MySQL, Oracle, Sun Mycrosystems, InnoDB この記事を読むのに必要な時間:およそ 2 分 本連載では,現在MySQLを利用していて,チューニングやより大規模な環境に向けた構成の拡張を体系的に説明することを目的としています... 続きを読む