2009-07-06 34 views
5

Mysql, dizinleri uygulamak için B + ağacını kullanır. Ana indeksimin tür (isim, yaş, şehir) olduğunu varsayalım. Birisi Mysql'in bu tür anahtarlar üzerinde bir B + ağacı nasıl uyguladığı konusunda biraz ışık tutabilir mi?Mysql B + Ağaç uygulaması

Benim önsezim, bütün tüpe bir anahtar olarak davranması ve bunu kısmi bir düzen gibi ele almasıdır. Ör:

(John, 24, New Jersey) < (Yuhanna, 24, New York) < (Yuhanna, 25, New Jersey) < (Yuhanna, 25, New York)

cevap

4

(John, neden önemli olduğunu

Evet bu 24, New Jersey) < (Yuhanna, 24, New York) < (Yuhanna, 25, New Jersey) < (Yuhanna, 25, New York) hangi lay sipariş bir anahtardaki sütunlar dışarı.

Başlangıca bakmaktan tatmin olabilecek değerlere bakmazsanız anahtar hiç bir işe yaramayacaktır - örn. age ve/veya city için filtrelediğinizde, ancak name için değil, anahtar kullanılamaz. Diğer taraftan, yalnızca name için filtre uyguladıysanız, anahtar kullanılacaktır.