Индексы обеспечивают быстрый доступ к данным. Подобно индексу в книге, который содержит список ключевых фраз, помогающих находить информацию, индексы, определенные в размещенном векторном слое или размещенной таблице, помогают программному обеспечению находить необходимую информацию при запросе к слою.
Для повышения производительности выполнения запросов к размещенным векторным слоям и таблицам используется несколько типов индексов. Некоторые из них определяются ArcGIS Online, а другие вы можете определить сами. Каждый из них предназначен для повышения производительности определенного типа запросов или удовлетворения определенных требований.
Чтобы добавлять индекс или управлять им, вы должны быть владельцем элемента или администратором организации.
Перестроение пространственного индекса
Пространственные индексы увеличивают скорость выполнения пространственных запросов, например, прорисовку объектов на карте и выполнение поиска объектов.
Пространственный индекс создается для размещенного векторного слоя при его публикации. Если вы либо другие редакторы добавили объекты слоя, расположенные за пределами его начального экстента, пространственный индекс будет обновлен и его нужно перестроить. Например, если размещенный векторный слой содержал объекты только в одном городе, а позже вы добавили данные, которые добавляют объекты по всей стране, то следует перестроить пространственный индекс для этого слоя.
Если вы почувствуете, что слой отрисовывается медленнее, чем раньше, и вы знаете, что было добавлено много объектов, находящихся за пределами исходного экстента, перестройте пространственный индекс. Пространственные индексы задаются для пространственного поля векторного слоя.
Чтобы перестроить пространственный индекс слоя, выполните следующие шаги:
- Войдите в организацию как владелец размещенного векторного слоя или как администратор организации.
- Откройте страницу элемента размещенного векторного слоя.
- Перейдите на вкладку Настройки.
- Прокрутите вниз до раздела Управление индексами.
- Убедитесь, что выбрана вкладка Пространственные индексы, и щелкните Перестроить индексы.
- Включите кнопку-переключатель рядом с подслоем или подслоями, для которых необходимо создать пространственный индекс, и щелкните Перестроить.
Примечание:
Хотя пространственный индекс перестраивается, пользователи слоя могут заметить, что скорость работы с ним снизилась. По возможности перестраивайте пространственные индексы, когда слой не используется.
Добавление индексов к атрибутивным полям
Атрибутивные и полнотекстовые индексы могут сократить время, необходимое для выполнения запросов, например, при поиске или фильтрации запрошенных данных.
Если вы заметите, что получение результатов при фильтрации или применении определения непространственных атрибутов в таблице или слое занимает много времени, можете добавить индекс к одному или нескольким полям, чтобы повысить производительность обработки запросов.
Атрибутивные индексы можно добавлять к любому из поддерживаемых ArcGIS Online типов полей. Если фильтры или определения должны находить определенные слова или фразы в строковом поле, вы можете добавить полнотекстовый индекс.
Если пользователи ищут или запрашивают одно поле за раз, задайте индекс для этого поля. Если один поиск или запрос выполняется для нескольких полей, можно задать индекс для всех полей, которые часто запрашиваются вместе.
Не рекомендуется добавлять индексы к полям, которые часто редактируются, поскольку обновление поля, для которого задан индекс, может занять больше времени. Также нет смысла добавлять индекс для полей, которые не будут запрашиваться.
Индексы занимают немного места в базе данных объектов и, как следствие, могут потреблять кредиты.
Добавление атрибутивного индекса
Чтобы добавить атрибутивный индекс к полю или полям в слое или таблице размещенного векторного слоя, выполните следующие шаги:
- Войдите в организацию как владелец размещенного векторного слоя или как администратор организации.
- Откройте страницу элемента размещенного векторного слоя.
- Перейдите на вкладку Настройки.
- Прокрутите вниз до раздела Управление индексами.
- Перейдите на вкладку Индексы полей.
- Используйте раскрывающийся список Слой или таблица, чтобы выбрать правильный слой или таблицу.
- Щелкните Добавить индекс.
- Выберите Атрибут и щелкните Далее.
- Выберите поле, к которому будет добавлен атрибутивный индекс, и щелкните Добавить в список.
Чтобы задать индекс, содержащий несколько полей, выберите дополнительное поле и снова щелкните Добавить в список.
В атрибутивный индекс можно добавить до 16 полей. Индекс, заданный для нескольких полей, удобен для запросов, запрашивающих сразу все поля.
- Почти во всех случаях оставляйте опцию Сортировать по возрастанию отмеченной.
Создайте индекс в порядке убывания, если запросы выполняются для полей в порядке убывания.
- Если поле, к которому добавляется индекс, содержит уникальные значения и всегда должно содержать исключительно уникальные значения, включите кнопку-переключатель рядом с полем Значения полей уникальны, чтобы создать уникальный индекс.
Если включен переключатель Значения полей уникальны и в индексе присутствует несколько полей, комбинация значений в нескольких полях должна быть уникальной. В случае если одно из полей содержит только уникальные значения, комбинации значений всех полей в индексе тоже будут уникальными.
- Щелкните Создать индекс.
Время, необходимое для создания индекса, зависит от количества атрибутов или строк слоя или таблицы.
Индекс будет создан и появится в списке индексов на вкладке Индексы полей.
Добавление полнотекстового индекса к текстовым атрибутивным полям
Чтобы добавить полнотекстовый индекс к строковому полю в слое или таблице размещенного векторного слоя, выполните следующие шаги:
- Войдите в организацию как владелец размещенного векторного слоя или как администратор организации.
- Откройте страницу элемента размещенного векторного слоя.
- Перейдите на вкладку Настройки.
- Прокрутите вниз до раздела Управление индексами.
- Перейдите на вкладку Индексы полей.
- Используйте раскрывающийся список Слой или таблица, чтобы выбрать правильный слой или таблицу.
- Щелкните Добавить индекс.
- Выберите Полнотекстовый индекс и щелкните Далее.
- Выберите строковое поле, для которого будет добавлен полнотекстовый индекс, и щелкните Добавить в список.
Указанное вами поле может находиться только в одном индексе.
- Щелкните Создать индекс.
Время, необходимое для создания индекса, зависит от количества атрибутов или строк слоя или таблицы.
Индекс будет создан и появится в списке индексов на вкладке Индексы полей.
Добавьте columnstore, индекс хранилища столбцов
Индексы Columnstore могут повысить производительность вычислений или агрегирования, используемых в отчетах, операционных панелях, диаграммах или графиках, когда слой или таблица содержат большие объемы данных (миллионы и более объектов или строк).
Например, если в Map Viewer вы настроили диаграмму, отображающую сумму нескольких полей в векторном слое, и заметили, что для ее отображения требуется несколько секунд или более, то добавление индекса columnstore к этим полям в векторном слое может сократить время, необходимое для построения диаграммы. Аналогично, если вы создаете операционную панель, которая представляет вычисляемые значения в виде графика, и загрузка этой панели занимает немало времени, то может помочь индекс columnstore для полей, включенных в расчет.
Вы можете добавить по одному индексу columnstore для каждого подслоя или таблицы в размещенном векторном слое.
Чтобы добавить индекс columnstore в поле, выполните следующие шаги:
- Войдите в организацию как владелец размещенного векторного слоя или как администратор организации.
- Откройте страницу элемента размещенного векторного слоя.
- Перейдите на вкладку Настройки.
- Прокрутите вниз до раздела Управление индексами.
- Перейдите на вкладку Индексы Columnstore и щелкните Добавить индекс.
Опция Добавить индекс неактивна, если для всех подслоев в размещенном векторном слое определен индекс columnstore.
Появится всплывающее окно Индексы Columnstore.
- Используйте всплывающее меню Слой для выбора подслоя, к которому будет добавлен индекс columnstore.
- Отметьте поля, которые хотите индексировать.
Если вы знаете имена полей, введите их по одному в окне Поля для поиска. По мере ввода текста список полей обновляется, помогая найти нужное поле.
- Щелкните Создать индекс.
Создание индекса может занять несколько секунд.
После создания индекса всплывающее окно Индексы Columnstore закрывается. Новый индекс указан на вкладке Индексы Columnstore.
Удаление индексов
Если вы заметите, что добавление индекса не улучшило производительность выполнения запросов или, что еще хуже, снизило скорость их выполнения или редактирования, можно удалить этот индекс.
Вы также можете удалить индекс, если решите, что вам нужен индекс с другим определением - например, вам нужно добавить поле в индекс, потому что два поля часто вместе участвуют в запросах. В этом случае вы должны удалить существующий и создать новый индекс, содержащий все поля, которые должны быть в индексе.
Примечание:
Вы не можете удалить пространственный индекс.
Другие действия, которые вы выполняете с данными за пределами этого интерфейса, также создают индексы. Например, при настройке поиска ресурсов веб-карты для слоев веб-карты создаются индексы. Подобным образом, при добавлении фильтра к слою веб-карты Map Viewer добавляет индексы к полям слоя.
ArcGIS Online также создает индексы для полей отслеживания изменений, идентификаторов слоев и идентификаторов объектов. Рядом со всеми этими индексами системных полей есть символ блокировки, и их нельзя удалить.Чтобы удалить атрибутивный или полнотекстовый индекс, или индекс columnstore из слоя или таблицы в размещенном векторном слое, выполните следующие шаги:
- Войдите в организацию как владелец размещенного векторного слоя или как администратор организации.
- Откройте страницу элемента размещенного векторного слоя.
- Перейдите на вкладку Настройки.
- Прокрутите вниз до раздела Управление индексами.
- Чтобы удалить атрибутивный или полнотекстовый индекс, перейдите на вкладку Индексы полей и выполните следующее:
- Выберите слой или таблицу, из которых нужно удалить индекс.
- Щелкните кнопку Удалить
рядом с индексом, чтобы удалить его из слоя или таблицы.
Появится всплывающее окно с подтверждением.
- Щелкните ОК, чтобы подтвердить, что хотите удалить индекс.
- Чтобы удалить индекс columnstore, щелкните вкладку Индексы columnstore и выполните следующее:
- Щелкните кнопку Удалить
рядом с индексом, чтобы удалить его из слоя или таблицы.
Появится всплывающее окно с подтверждением.
- Щелкните Подтвердить, чтобы удалить индекс.
- Щелкните кнопку Удалить