суббота, 25 января 2020 г.

SQL заметки за 2019

Продолжение цикла заметок и статьи 2016 года.
Хочу зафиксировать моменты Oracle и SQL в общем, которые достаточно интересны, но малы для отдельной статьи.
  • Трансформация запросов
    • Виды преобразований запросов
    • Результрующий запрос после всех преобразований оптимизатора
    • Ручная трансформаиця 1 запроса в другой
  • Статистика
    • Устаревание статистики
    • Инкрементальный сбор статистики в партицированных таблицах
    • Селективность колонки с 12.2
    • Хинт для задания статистики колонки
    • статистика по использованию сегмента
    • Ассоциация статистики к функции
    • Колонки-кандидаты для гистограммы
    • Просмотр данных гистограммы
    • Join cardinality по гистограмме
    • Определение селективности, если на обоих столбцах соединения есть гистограмма
  • PLSQL
    • Автономная транзакция
    • Иключение при поиске элемента по ключу
    • plsql redefinition
    • Консистентность функций
    • Параллелизация pipeline функций
  • PLSQL коллекции
    • Varrays - обычный массив
    • Hash table - Associative array над связанным списком
    • Nested tables
  • Анализ производительности запросов
    • индекс - кандидат на удаление
    • forall - в статистике (ash/awr)
    • Выявление skew через oem monitor
    • Пометка запроса для awr
    • Чтение плана
    • Монотонный рост значений в индексе
    • Долгий вызов plsql в запросе
    • Undo/redo при вставке
    • Параллельное последовательное чтение индекса
    • Result_cache
    • Вставка игнорируя consraint, но с сохранением ошибок
    • Пометка блока горячим
  • Оптимизация хранения
    • Создание not null поля с default
    • Index coalesce
    • Вставка в новую таблицу
    • Вставка в длинную таблицу
    • Include Индекс
    • Дополнительные параметры таблиц в Exadata
    • Отрицательная эффективность Exadata
    • Структура Lob
  • Партицирование
    • Системное партицирование
    • Reference partitions
    • Глобальные индексы
    • INDEXING OFF|On
    • Тепловая карта партиций
  • Настройки бд
    • Виды репликаций
    • Exadata 12.2
    • Особенности только в exadata
  • Разные SQL алгоритмы
    • Пагинация на ключах
    • start_of_group - нумерация групп по разрывам
    • Забор таблицы частями без fullscan, индексов и партиций
    • Поиск одного пропуска
    • Вставка данных больше размера varchar
    • partition join
    • Округление через to int
    • Удаление из обновляемого представления
    • Выражение на месте join
    • DBMS_HS_PASSTHROUGH - Полное выполнение запроса на удаленной бд
    • Top уникальных строк в группе