Руководство по созданию эффективных запросов



Download 17,08 Mb.
Pdf ko'rish
bet210/210
Sana25.06.2022
Hajmi17,08 Mb.
#704548
TuriРуководство
1   ...   202   203   204   205   206   207   208   209   210
Bog'liq
OptimizZaprvPostgreSQL

Document Outline

  • От издательства
  • Об авторах
  • О техническом редакторе
  • Благодарности
  • Вступление
  • Глава 1. Зачем нужна оптимизация?
    • Что подразумевается под оптимизацией?
    • Императивный и декларативный подходы: почему это сложно
    • Цели оптимизации
    • Оптимизация процессов
      • Оптимизация OLTP и OLAP
      • Проектирование базы данных и производительность
      • Разработка приложений и производительность
      • Другие этапы жизненного цикла
    • Особенности PostgreSQL
    • Выводы
  • Глава 2. Теория: да, она нужна нам!
    • Обзор обработки запросов
      • Компиляция
      • Оптимизация и выполнение
    • Реляционные, логические и физические операции
      • Реляционные операции
      • Логические операции
      • Запросы как выражения: мыслить множествами
      • Операции и алгоритмы
    • Выводы
  • Глава 3. Еще больше теории: алгоритмы
    • Стоимостные модели алгоритмов
    • Алгоритмы доступа к данным
      • Представление данных
      • Полное (последовательное) сканирование
      • Доступ к таблицам на основе индексов
      • Сканирование только индекса
      • Сравнение алгоритмов доступа к данным
    • Индексные структуры
      • Что такое индекс?
      • B-деревья
      • Почему так часто используются B-деревья?
      • Битовые карты
      • Другие виды индексов
    • Сочетание отношений
      • Вложенные циклы
      • Алгоритмы на основе хеширования
      • Сортировка слиянием
      • Сравнение алгоритмов
    • Выводы
  • Глава 4. Планы выполнения
    • Собираем все вместе: как оптимизатор создает план выполнения
    • Чтение планов выполнения
    • Планы выполнения
      • Что происходит во время оптимизации?
      • Почему планов выполнения так много?
      • Как рассчитываются стоимости выполнения?
      • Почему оптимизатор может ошибаться?
    • Выводы
  • Глава 5. Короткие запросы и индексы
    • Какие запросы считаются короткими?
    • Выбор критериев фильтрации
      • Селективность индексов
      • Уникальные индексы и ограничения
    • Индексы и неравенства
      • Индексы и преобразования столбцов
    • Индексы и оператор like
    • Использование нескольких индексов
    • Составные индексы
      • Как работают составные индексы?
      • Меньшая селективность
      • Использование индексов для получения данных
      • Покрывающие индексы
    • Избыточные критерии отбора
    • Частичные индексы
    • Индексы и порядок соединений
    • Когда индексы не используются
      • Избегаем использования индекса
      • Почему PostgreSQL игнорирует мой индекс?
    • Не мешайте PostgreSQL делать свое дело
    • Как создать правильные индексы?
      • Создавать или не создавать
      • Какие индексы нужны?
      • Какие индексы не нужны?
    • Индексы и масштабируемость коротких запросов
    • Выводы
  • Глава 6. Длинные запросы и полное сканирование
    • Какие запросы считаются длинными?
    • Длинные запросы и полное сканирование
    • Длинные запросы и соединения хешированием
    • Длинные запросы и порядок соединений
      • Что такое полусоединение?
      • Полусоединения и порядок соединений
      • Подробнее о порядке соединений
      • Что такое антисоединение?
      • Полу- и антисоединения с использованием оператора JOIN
      • Когда необходимо указывать порядок соединения?
    • Группировка: сначала фильтруем, затем группируем
    • Группировка: сначала группируем, затем выбираем
    • Использование операций над множествами
    • Избегаем многократного сканирования
    • Выводы
  • Глава 7. Длинные запросы: дополнительные приемы
    • Структурирование запросов
    • Временные таблицы и общие табличные выражения
      • Временные таблицы
      • Общие табличные выражения (CTE)
    • Представления: использовать или не использовать
      • Зачем использовать представления?
    • Материализованные представления
      • Создание и использование материализованных представлений
      • Обновление материализованных представлений
      • Создавать материализованное представление или нет?
      • Нужно ли оптимизировать материализованные представления?
      • Зависимости
    • Секционирование
    • Параллелизм
    • Выводы
  • Глава 8. Оптимизация модификации данных
    • Что такое DML?
    • Два способа оптимизации модификации данных
    • Как работает DML?
      • Низкоуровневый ввод-вывод
      • Влияние одновременного доступа
    • Модификация данных и индексы
    • Массовые обновления и частые обновления
    • Ссылочная целостность и триггеры
    • Выводы
  • Глава 9. Проектирование имеет значение
    • Проектирование имеет значение
    • Зачем использовать реляционную модель?
      • Типы баз данных
      • Модель «сущность–атрибут–значение»
      • Модель «ключ–значение»
      • Иерархическая модель
      • Лучшее из разных миров
    • Гибкость против эффективности и корректности
    • Нужна ли нормализация?
    • Правильное и неправильное использование суррогатных ключей
    • Выводы
  • Глава 10. Разработка приложений и производительность
    • Время отклика имеет значение
    • Всемирное ожидание
    • Показатели производительности
    • Потеря соответствия
    • Дорога, вымощенная благими намерениями
      • Шаблоны разработки приложений
      • Проблема списка покупок
      • Интерфейсы
      • Добро пожаловать в мир ORM
    • В поисках более подходящего решения
    • Выводы
  • Глава 11. Функции
    • Создание функций
      • Встроенные функции
      • Пользовательские функции
      • Знакомство с процедурным языком
      • Долларовые кавычки
      • Параметры и возвращаемое значение
      • Перегрузка функций
    • Выполнение функций
    • Как происходит выполнение функций
    • Функции и производительность
      • Как использование функций может ухудшить производительность
      • Могут ли функции улучшить производительность?
    • Функции и пользовательские типы
      • Пользовательские типы данных
      • Функции, возвращающие составные типы
    • Использование составных типов с вложенной структурой
    • Функции и зависимости типов
    • Управление данными с помощью функций
    • Функции и безопасность
    • Как насчет бизнес-логики?
    • Функции в системах OLAP
      • Параметризация
      • Отсутствие явной зависимости от таблиц и представлений
      • Возможность выполнять динамический SQL
    • Хранимые процедуры
      • Функции, не возвращающие результат
      • Функции и хранимые процедуры
      • Управление транзакциями
      • Обработка исключений
    • Выводы
  • Глава 12. Динамический SQL
    • Что такое динамический SQL
      • Почему в Postgres это работает лучше
      • Что с внедрением SQL-кода?
    • Как использовать динамический SQL в OLTP-системах
    • Как использовать динамический SQL в системах OLAP
    • Использование динамического SQL для гибкости
    • Использование динамического SQL в помощь оптимизатору
    • Обертки сторонних данных и динамический SQL
    • Выводы
  • Глава 13. Как избежать подводных камней объектно-реляционного отображения
    • Почему разработчикам приложений нравится NORM
    • Сравнение ORM и NORM
    • Как работает NORM
    • Детали реализации
    • Сложный поиск
    • Обновления
      • Вставка
      • Обновление
      • Удаление
    • Почему бы не хранить JSON?
    • Прирост производительности
    • Совместная работа с разработчиками приложений
    • Выводы
  • Глава 14. Более сложная фильтрация и поиск
    • Полнотекстовый поиск
    • Многомерный и пространственный поиск
    • Обобщенные типы индексов PostgreSQL
      • Индексы GiST
      • Индексы для полнотекстового поиска
      • Индексирование очень больших таблиц
    • Индексирование JSON и JSONB
    • Выводы
  • Глава 15. Полный и окончательный алгоритм оптимизации
    • Основные шаги
    • Пошаговое руководство
      • Шаг 1. Короткий запрос или длинный?
      • Шаг 2. Короткий запрос
      • Шаг 3. Длинный запрос
      • Шаг 4. Инкрементальные обновления
      • Шаг 5. Неинкрементальный длинный запрос
    • Но подождите, это еще не все!
    • Выводы
  • Заключение
  • Предметный указатель

Download 17,08 Mb.

Do'stlaringiz bilan baham:
1   ...   202   203   204   205   206   207   208   209   210




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish