Производительность запросов

Время выполнения запроса и потребление ресурсов зависят от нескольких факторов:

Отладка запроса - это способ выяснить, какие этапы выполнения запроса замедлены.

Использование индексов

Подобно другим SQL запросам, производительность запросов SberMobile  существенно зависит от наличия индексов.

Индексы создаются автоматически каждый раз при выполнении запроса для ключевых полей переменных или результатов выполнения функций, являющихся исходными данными для запроса.

Обратитесь к разделу Ключевые поля для получения дополнительной информации.

Функционирование в распределенной архитектуре

Запросы оптимизируются особым образом для работы в распределенной архитектуре. Запросы к данным контекстов, подключенных по распределённой архитектуре, выполняются параллельно при построении таблицы по контекстной ссылке. Если многочисленные распределенные контексты расположены на разных серверах, все серверы будут параллельно готовить и отсылать свою часть данных.  

Работа запросов в распределенной архитектуре имеет много общего с концепцией MapReduce:

  • Удаленные серверы готовят данные частями, загружая, фильтруя, сортируя и агрегируя данные на своей стороне
  • Изначальный запрос, работающий на сервере верхнего уровня (потребителе), объединяет входящие части данных и осуществляет дополнительную сортировку, фильтрацию и агрегирование
  • Более того, запрос может объединять итоговый набор данных с другими наборами данных, поступающими с локального сервера или через распределённую архитектуру