#mysql
#mysql
Вопрос:
Мне много раз говорили, что mysql использует B tree в качестве структуры данных индекса, и в этом вопросе также указана история индекса в B tree. Но я нахожу что-то другое в официальном документе Mysql, в индексах mysql говорится Most MySQL indexes (PRIMARY KEY, UNIQUE, INDEX, and FULLTEXT) are stored in B-trees
итак, мне интересно, какой из них правильный, B-Tree или B tree?
Комментарии:
1. Вы не верите официальному руководству пользователя?
2. @Akina Я верю чиновнику, но так много людей сказали мне, что индекс Mysql использует B дерево, в Китае у нас есть пословица
三人成虎
: ложь, если повторять ее достаточно часто, будет принята за правду. итак, я публикую этот вопрос3. Нет слов .. попросите кого-нибудь из этих «многих людей» доказать, что индекс MySQL на самом деле B , а не B..
4. @Akina any Мне любопытно, почему так много людей ошибаются, и как они приходят к выводу, что индекс в mysql — это B tree
5. Людям нравится повторять за кем-то, не задумываясь — это легко.
Ответ №1:
https://dev.mysql.com/doc/internals/en/innodb-fil-header.html
Вы можете посмотреть это предложение в документации:
Это сложность, которую вы не найдете в классическом B-дереве, поэтому InnoDB, возможно, следует называть B -деревом