インデックスとは何?MySQL(InnoDB)とPostgreSQLのインデックスの違いとは?調べてみました
SRANK

はじめにこんにちは。calloc134 です。前のハッカソンイベントで、UUID をプライマリキーに利用するかどうかの議論がありました。結果的にはあまりパフォーマンス要件の高くないアプリケーションであったため、プライマリキーとして UUID を採用することにしたのですが、イベント終了後に気になったため、調査を行いました。今回は、この調査の結果を元に、MySQL と PostgreSQL におけるインデックスの内部構造の違いと、UUID をプライマリキーにする際の問題についてまとめてみたいと思います。インデックスの概要インデックスとはインデックスとは、データベースのテーブルに対して、アクセスを高速に行うための指標となる構造のことです。インデックスとは日本語で索引ですが、まさに辞書の索引のように、アクセスにおいての手助けをしてくれます。 インデックス(B+Tree インデックス)ハッシュインデックスビットマップインデックスMySQL(InnoDB)と PostgreSQL では、B-Tree インデックス(B+Tree インデックス)が採用されています。今回の記事では主に B-Tree インデックスについて解説します。B-Tree インデックス以外のインデックスについてはここでは解説しませんが、…

zenn.dev
Related Topics: MySQL PostgreSQL