Если я создаю таблицу кучи и добавляю в нее несколько строк, каждая строка имеет физическое местоположение в файле данных и указатель на эту строку, но у нее нет структуры, нет возможности искать что-либо за ее пределами. точный указатель на данную строку.
Если я затем создаю некластеризованный индекс, сортирующий эти строки по некоторому критерию, то этот индекс содержит для каждой строки ключ, по которому он сортировался, любые столбцы, которые я явно включил, и указатель строки, так что если вы посмотрите вверх запись, совместимая с индексом, но требующая столбца, не входящего в индекс, она точно знает, куда обращаться, чтобы получить эти данные, правильно?
Предполагая, что это правильно, я хотел бы понять следующее: если я затем создам кластеризованный индекс для таблицы, то куча реорганизуется так, что записи сортируются по ключу кластерного индекса. Это означает, что физическое положение каждой отдельной записи может измениться. Как это отслеживается указателями строк в существующем некластеризованном индексе?
Если это имеет значение, я использую SQL Server в качестве базового механизма.