Эта страница переведена машинным переводом. Читайте английский оригинал. English

Оптимизация запросов Firebird - о том, как выполняются SELECT-запросы: планы, статистика, методы доступа, шаблоны настройки и как находить медленные запросы с помощью MON$ и Trace API.

Около 5-6 часов · Английский · Для разработчиков · Все курсы

Программа курса

  • Производительность SELECT-запросов - как выполняется запрос
    • Клиент-серверный подход
    • Подготовка, генерация плана, выполнение, выборка, буферизация
  • Статистика выполнения
    • Чтения, записи, выборки, время
    • Кэш базы данных, диск, CPU
    • Как мусор влияет на выполнение
    • Попадания в кэш (Classic vs SuperServer)
  • Методы доступа / пути к данным
    • Сканирование NATURAL
    • Поиск по индексу: B-деревья, указатели на записи, направление, примеры
    • Принудительное использование индекса, слияние индексов (bit merge)
    • Кардинальность таблицы и селективность индекса
    • Отключение индексов в WHERE
    • Порядок по индексу vs SORT (настройки firebird.conf)
    • Отключение индексов в ORDER BY / GROUP BY
    • Планы в хранимых процедурах и представлениях
  • Настройка запросов
    • Как читать PLAN
    • Настройки оптимизатора
    • WHERE FIELD IN (…)
    • LIKE, CONTAINING, STARTING WITH
    • JOIN: неявный vs явный, плохие соединения, LEFT/RIGHT, самосоединения
    • UPDATE + SELECT
    • MAX, MIN, COUNT, AVG, SUM
    • IN vs EXISTS vs MERGE
    • WHERE (X AND Y) OR (K AND N)
  • Отслеживание медленных запросов с помощью MON$ и Trace API
    • Что такое MON$ и Trace
    • Важные поля MON$
    • Параметры Trace API и вывод
    • Инструменты (включая мониторинг HQbird)