プライマリインデックスとセカンダリインデックスのパフォーマンスの違いは何ですか?この違いの原因は何ですか?プライマリインデックスとセカンダリインデックス:パフォーマンスの違い
私は、セカンダリインデックスが別のテーブルに格納されているのを見てきました。このため、すべての操作が遅くなります。しかし、パフォーマンスの低下を正当化する理由がいくつかありますか?
どうもありがとう
プライマリインデックスとセカンダリインデックスのパフォーマンスの違いは何ですか?この違いの原因は何ですか?プライマリインデックスとセカンダリインデックス:パフォーマンスの違い
私は、セカンダリインデックスが別のテーブルに格納されているのを見てきました。このため、すべての操作が遅くなります。しかし、パフォーマンスの低下を正当化する理由がいくつかありますか?
どうもありがとう
クラスタ化テーブルはBツリー「ヒープ」部分なしである - 行はクラスタリング索引(主キー)のBツリー構造に直接格納されています。 Bツリーのノードは分割または合体することができるので、物理的な位置または行が変更される可能性があるので、セカンダリインデックスからローまでの単純な「ポインタ」を持つことはできません。したがって、セカンダリインデックスには、主索引フィールドは確実に行を識別できるようにします。
これは、Oracle、MS SQL Serverの場合に該当し、also true for InnoDBです。
クラスタ化されたテーブル内のセカンダリインデックスがこれ、ヒープベースのテーブルのセカンダリインデックスよりも「太っ」であることを意味します:
私はUse The Index, Luke!を引用してみましょう:「索引構成表とクラスタ化インデックスの利点は、2番目のインデックスを必要としないテーブルへのほとんどが限られています。」
MySQLはストレージエンジンから独立してクラスタリングを選択することはできないので、残念です。
インデックスを使用している投稿。ルーク!非常によかったです。クラスタリングインデックスとセカンダリインデックスに関する多くのアイデアをクリアしました。ありがとう! – MasterV
次のリンクを参考にしてください:http://dev.mysql.com/doc/refman/5.0/en/innodb-index-types.html、http://www.xaprb.com/blog/2006/07/04/how-to-exploit-mysql-index-optimizations /およびhttp://stackoverflow.com/questions/4419499/mysql-nosql-help-me-to-choose-the-right- one-on-a/4421601#4421601 –
ありがとうございました!今私はそれらを読むでしょう。 – satboy78