вы можете прочитать файл и сделать матрицу из 2xno_cities, а когда пользователь вводит число, вы просто делаете
array[input-given-by-user][1]
, так как первый [] будет для строки, а второй для столбца, где вы сохраняете города,
База данных хранит индексированное значение как ключ B-Tree
, а указатель записи как значение B-Tree
.
Всякий раз, когда вы ищете запись, содержащую определенное значение индексированного столбца, механизм находит ключ, содержащий это значение в B-дереве
, извлекает указатель на запись и извлекает запись.
Что именно является "указателем на запись", зависит от механизма хранения.
В MyISAM
указатель записи - это смещение к записи в файле MYI
.
В InnoDB
указатель записи - это значение PRIMARY KEY
.
В InnoDB
сама таблица представляет собой B-дерево
с PRIMARY KEY
в качестве B-дерева
ключа. Это так называемый "кластеризованный индекс" или "таблица, организованная по индексу". В этом случае все остальные поля хранятся как значения B-Tree
.
В MyISAM
записи хранятся без какого-либо специального порядка. Это называется "хранение в куче".
MySQL InnoDB на самом деле использует B+Tree, которые добавляют больше опций, чем B-дерево.
, такие как:
Только листовой узел имеет значения, чтобы позволить большему количеству ключей в том же узле страницы уменьшать дерево высоко, которое уменьшит количество ввода-вывода.
Добавляют двунаправленный указатель в каждой вершине, чтобы заставить диапазон искать быстрее
B-дерево
B+Tree