タグ InnoDB
人気順 5 users 10 users 50 users 500 users 1000 usersインデックスとは何?MySQL(InnoDB)とPostgreSQLのインデックスの違いとは?調べてみました
はじめに こんにちは。calloc134 です。 前のハッカソンイベントで、UUID をプライマリキーに利用するかどうかの議論がありました。 結果的にはあまりパフォーマンス要件の高くないアプリケーションであったため、プライマリキーとして UUID を採用することにしたのですが、イベント終了後に気になったため、調査を行い... 続きを読む
MySQL/Aurora/TiDBロック入門 – 第1回トランザクション分離レベル|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
MySQL/Aurora/TiDBロック入門 – 第1回トランザクション分離レベル MySQL InnoDB および AWS Aurora や PingCAP TiDB におけるロックの仕組みやトランザクションの動作を全11回のシリーズで解説します! 最初はベースとして重要な MySQL 8.0 InnoDB 前提でユーザー視点でのロックの仕組みを学び、後半第10回以降では... 続きを読む
MySQL(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について(前提知識) カーディナリティについて(前提知識) 実際の負荷対策 検... 続きを読む
MySQLでSELECT FOR UPDATEと行ロックの挙動を検証してみた - JUST FOR FUN
どうも、今日も今日とて野毛で飲みながらブログを書いている@okwraです。 今日は、普段あまり意識してこなかったMySQLのInnoDBでのロックの振る舞いについて色々実験してみました。(もちろん、きっかは自分がドツボにはまったから) ちゃんと理解するためには「共有・排他的ロックとは」って話や、「行ロックってつまり... 続きを読む
MySQL InnoDBの領域管理 - Qiita
武蔵野Advent Calendar 2017の20日目の記事です。品川から参加しています。 今日はMySQL InnoDBの領域管理について勉強し、いくつか動作例を見ながらInnoDBに対する理解を深めていきたいと思います。アプリケーション開発者やデータベース管理者の方にとって明日から使えるノウハウとはいきませんが、いつか何かの役に立つ日がくれば幸いです。 まとめ 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 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がどのくらいメモリを使うかを指定するものなので、設定すべき重要... 続きを読む
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 ... 続きを読む
MySQL/MariaDBのバックアップとロックの関係+クラッシュセーフについて - 技術メモ置き場
MySQL, MariaDB | 18:36よい機会なのでまとめておく。対象はMySQL5.6以下とMariaDB10.0以下。 要旨MySQL/MariaDBのバックアップについて、「InnoDBさえ使っていれば、FLUSH TABLES WITH READ LOCKは不要。よってバックアップ中に更新不可になることはない!」との主張が繰り返されているが、少なくとも5.6/10.0まではそんなこと... 続きを読む
漢(オトコ)のコンピュータ道: InnoDBのREPEATABLE READにおけるLocking Readについての注意点
2013-12-20 InnoDBのREPEATABLE READにおけるLocking Readについての注意点 本日は、MySQL Casual Advent Calendar 2013の20日目である。というわけでカジュアルに小ネタを紹介しよう。 MVCC - Multi Version Concurrency Controlご存知の通り、InnoDBはMVCCを実装している。そのため、分離... 続きを読む
InnoDBで行ロック/テーブルロックになる条件を調べた #mysqlcasual Advent Calendar 2013 - あおうさ@日記
2013-12-07 InnoDBで行ロック/テーブルロックになる条件を調べた #mysqlcasual Advent Calendar 2013 はじめに この記事は、MySQL Casual Advent Calendar 2013 7日目の記事です。 〜 Casual に記事を書けばええんやでヽ(´ー`)ノ 〜 私がMySQLで えっ?! っと思った下記エントリーの挙動が何故そうなってしまう... 続きを読む
MySQLでMyISAMからInnoDBに乗り換える際に知らないとハマる、怖い話 - Y-Ken Studio
photo by byte MySQLといえば、巷ではInnoDBばかり注目され、MyISAMの地下アイドル化がにわかに語られる今日この頃、皆様いかがお過ごしでしょうか。 まあカジュアルにストレージエンジンを変換するだけで済むなら、簡単なのです。 -- legacy_my_tableをInnoDBストレージエンジンに変換する ALTER TABLE legacy_my_table ENGINE=I... 続きを読む
InnoDBのロックの範囲についての話 - かみぽわーる
2013-12-03 InnoDBのロックの範囲についての話 この記事はMySQL Casual Advent Calendar 2013 3日目の記事です。 はじめに 以前にSELECT ... FOR UPDATEとロックの挙動 - I sort my thought...の記事にTwitterで少し言及したんですが、それの補足というか、僕はInnoDBのロックの範囲についてこう理解しています... 続きを読む
Yakst - (帰ってきた)InnoDBパフォーマンス最適化の基礎
最近、2007年にPeter Zaitevが書いた「InnoDBパフォーマンス最適化の基礎」という記事を見つけた。これは素晴らしい記事で、読んでいると、MySQLとPercona Serversそして今日利用可能な全ての基盤技術に関して、6年近くの間に何が変わってきたのかを見直してみたいと思わせるものだ。 本当にたくさんのことが変わったものだ!この記事では、InnoDBの使用に効果的なパラメータの... 続きを読む
MySQL 5.6正式版が公開。オプティマイザやInnoDBの向上でさらに高速。クラッシュセーフなレプリケーションなど - Publickey
MySQL 5.6正式版が公開。オプティマイザやInnoDBの向上でさらに高速。クラッシュセーフなレプリケーションなど 米オラクルは、MySQL 5.6の正式版が公開されたことを発表しました。MySQLはオープンソースのデータベースで、無料で利用可能なMySQL Community Server 5.6.10も公開されています。 MySQL 5.6のおもな新機能はプレスリリースやドキュメント「Wh... 続きを読む
MySQL(InnoDB) で "Index column size too large. The maximum column size is 767 bytes." いわれるときの対策 - かみぽわーる
2012-11-13 MySQL(InnoDB) で "Index column size too large. The maximum column size is 767 bytes." いわれるときの対策 tl;dr: MySQL 5.5.14以降だとinnodb_large_prefixオプションで3072バイトまでインデックス張れる MySQL(InnoDB)では、ひとつのカラムのキープ... 続きを読む
プログラマが意外と知らないMySQLのtips : 2ch Search
弱小ベンチャーだとDBAなんかいないのでWebプログラマがサーバやデータベースの運用・管理も行うことがわりとあると思います。SIerから来た人などは意外とMySQLを知らなかったりするので、簡単なtipsをまとめました。 InnoDBでテーブルごとにデータ領域を作成する 通常InnoDBではibdata1というファイルでデータが管理されます。ファイルは自動拡張でどんどん大きくなるので、あっという間... 続きを読む
MySQLをさらに理解するために読んだ記事まとめ - $shibayu36->blog;
最近MySQLの勉強をしていました。実践ハイパフォーマンスMySQLを読むべきという話を聞いていたのですが、かなり網羅的に書かれていて、今の知識ではどれが重要なのかわからない状態でした。そこで色々調べてみて、参考になる記事をいくつか見つけたので、少しまとめてみようと思います。 今回まとめた記事を読んで、大体以下のことが理解できました。 インデックスの使われ方とその構造(MyISAMとInnoDB)... 続きを読む