- すべて
- 画像・動画
並べ替え:新着順
B+Treeの図例で隣接リーフは双方向に連結されているというのはよく見かけるし、連結されているほうが効率良いのも分かる。ただ、いくつかの図だと非リーフの中間ノードも隣接ノードと連結しているよね。あれ本当なのか、効率が良いのかはたまに気になる。
めちゃくちゃわかりやすく説明されてて、なんとなくB+treeだよね(ホーン)ってなってる方(わしや)は見ると理解度上がるかも(あがった) MySQLのインデックスですが、B-treeではなくB+treeを使用するのはどうしてなのでしょうか? #mond mond.how/ja/topics/sv7z…
InnoDBならインデックスがB+ Treeだからとか、シャーディングどうしよっか、ホットスポットないかなとか、そういう話があってUUIDv4とかUUIDv7とかsnowflakeとかAUTO INCREMENTとかが決まるからなんともいえないよね〜
あと、ソートされたキー値はINSERT頻度が高いとB-Treeインデックスの最後のブロックに書き込みが集中する関係で性能が頭打ちになりやすいという問題もあったり。OracleだとRight Growing Indexと言ったりしますけど、多分他のDBMSのB-Tree Indexでも同じ話じゃないかな。
Nested Loops で結合する場合、内部表の結合キーにindexがあれば速いというのは基本知識としてある。これはみんな知ってるはず。 B(+)treeの構造上の問題とかじゃなく、index直接利用(NL)かメモリ上に展開(Hash)というところが大規模なデータを扱う際に効いてくる気がする
SQLの結合アルゴリズムにはご承知の通りNested Loops、Hash、Sort Mergeの三つがある。このうちSMは特殊な場合にしか使わないので実質的には前二者の選択となる。計算量はNLがO(n * m)、HashがO(n + m)でHashの方が有利に見える。ところが実際にはNLのが速いことが圧倒的に多い。なぜか分かるかな?
返信先:@masha_mashataro芸術家のb-treeさんまでっ!! 襟のQRミスってるんですよねぇ・・・w ネクタイも柄を入れようかと 急ぎだったので色々手抜きしすぎました^^;w またすずちん配信でw🌈
とはいえ SELECT distinct がデフォルトじゃなかったり実用上 B-tree index を張って順序を規定していたりする時点でRDBMS って言うほど関係代数してないよねって話はあると思う
岡山県牛窓町にあるショップ B-Tree b-tree.net 店内に、ミニランプ、あるんですね🛹 今度、ちょっと、行ってみようかな〜 たまに、恩原高原スキー場で、 MOSS SNOWSTICKの試乗会されたりしてますよねー🏂
昨日、和気のスケートパークで、ヘルメットに、岡山のプロショップ、B-Treeさんのステッカー貼られてた方がいまして… 話し掛けてみたら、ライダーさんでした🛹✨ スノーボードもするけど、スケボーが、メインだとか… SUPもされるみたい🌊 ショップの目の前、海ですもんねー🎵