Кластерный индекс является по существу отсортированной копией данных в индексированных столбцах.
основное преимущество кластерного индекса состоит в том, что то, когда Ваш запрос (ищут), определяет местоположение данных в индексе тогда, никакой дополнительный IO не необходим для получения тех данных.
издержки поддержания кластерного индекса, особенно в часто обновляемой таблице, могут привести к низкой производительности, и по этой причине может быть предпочтительно создать некластерный индекс.
Вам придется открыть файл тем или иным способом, если вы хотите получить доступ к данным в нем. Очевидно, один из способов - открыть его в экземпляре приложения Excel, например: -
(непроверенный код)
Dim wbk As Workbook
Set wbk = Workbooks.Open("C:\myworkbook.xls")
' now you can manipulate the data in the workbook anyway you want, e.g. '
Dim x As Variant
x = wbk.Worksheets("Sheet1").Range("A6").Value
Call wbk.Worksheets("Sheet2").Range("A1:G100").Copy
Call ThisWorbook.Worksheets("Target").Range("A1").PasteSpecial(xlPasteValues)
Application.CutCopyMode = False
' etc '
Call wbk.Close(False)
Другой способ сделать это - использовать поставщика Excel ADODB для открытия соединения с файлом, а затем использовать SQL для выбора данных из листа, который вам нужен, но, поскольку вы все равно работаете из Excel, я не думаю, что для этого есть какая-то причина, а не просто открывать книгу. Обратите внимание, что для метода Workbooks.Open () есть необязательные параметры, позволяющие открывать книгу только для чтения и т. Д.