ОПТИМИЗАЦИЯ SQL

Содержание

Слайд 2

Чем дальше от начала разработки обнаруживается неэффективность приложения, тем дороже она обходится

Чем дальше от начала разработки обнаруживается неэффективность приложения, тем дороже она обходится

Слайд 3

Оптимизаторы ORACLE

Rule Based Optimizer (RBO)
(Синтаксический оптимизатор)
Cost Based Optimizer (CBO)
(Оптимизатор по стоимости выполнения)

Оптимизаторы ORACLE Rule Based Optimizer (RBO) (Синтаксический оптимизатор) Cost Based Optimizer (CBO) (Оптимизатор по стоимости выполнения)

Слайд 4

Команда ANALYZE и Cost Based Optimizer

Сбор статистики об объектах, используемых оптимизатором, и сохранение

Команда ANALYZE и Cost Based Optimizer Сбор статистики об объектах, используемых оптимизатором,
ее в словаре базы данных
Удаление статистики из словаря базы данных
Проверка правильности структуры объектов
Идентификация перенесенных и связанных строк в таблице или кластере

Слайд 5

Где хранится собранная статистика ?

USER_TABLES, ALL_TABLES, DBA_TABLES
USER_TAB_COLUMNS, ALL_TAB_COLUMNS, DBA_TAB_COLUMNS
USER_INDEXES, ALL_INDEXES,

Где хранится собранная статистика ? USER_TABLES, ALL_TABLES, DBA_TABLES USER_TAB_COLUMNS, ALL_TAB_COLUMNS, DBA_TAB_COLUMNS USER_INDEXES, ALL_INDEXES, DBA_INDEXES USER_CLUSTERS, DBA_CLUSTERS
DBA_INDEXES
USER_CLUSTERS, DBA_CLUSTERS

Слайд 6

Команда ANALYZE

Команда ANALYZE

Слайд 7

Команда EXPLAIN PLAN

Объяснить план выполнения SQL - оператора

Команда EXPLAIN PLAN Объяснить план выполнения SQL - оператора

Слайд 8

Команда EXPLAIN PLAN

Командный файл для создания PLAN_TABLE: $ORACLE_HOME/rdbmsXX/admin/utlxplan.sql

Команда EXPLAIN PLAN Командный файл для создания PLAN_TABLE: $ORACLE_HOME/rdbmsXX/admin/utlxplan.sql

Слайд 9

Команда EXPLAIN PLAN

Интерпретация информации в PLAN_TABLE:

SELECT LPAD(‘ ‘,2*(LEVEL-1))||
OPERATION||’ ‘||OPTIONS, OBJECT_NAME
FROM PLAN_TABLE
START

Команда EXPLAIN PLAN Интерпретация информации в PLAN_TABLE: SELECT LPAD(‘ ‘,2*(LEVEL-1))|| OPERATION||’ ‘||OPTIONS,
WITH ID = 0 AND STATEMENT_ID = ‘текст’
CONNECT BY PRIOR ID = PARENT_ID;

Слайд 10

Операции, производимые ORACLE

(*) Эти операции являются методами доступа.
(+) Эти операции являются

Операции, производимые ORACLE (*) Эти операции являются методами доступа. (+) Эти операции являются операциями соединения (join).
операциями соединения (join).

Слайд 11

Подсказки оптимизатору

Oracle7 Server Tuning
Часть No. A25421-1
(Главы 7 - 9)
Oracle8 Tuning Release 8.0

Подсказки оптимизатору Oracle7 Server Tuning Часть No. A25421-1 (Главы 7 - 9)
Часть No. A58246-01 (Главы 7 - 9)

Слайд 12

Подсказки оптимизатору

Комментарий, начинающийся со знака + SELECT /*+ ALL_ROWS */ empno, ename, sal,

Подсказки оптимизатору Комментарий, начинающийся со знака + SELECT /*+ ALL_ROWS */ empno,
job FROM emp WHERE empno = 7566;

Слайд 13

Установка цели оптимизации

ALL_ROWS
FIRST_ROWS
CHOOSE
RULE

Установка цели оптимизации ALL_ROWS FIRST_ROWS CHOOSE RULE

Слайд 14

Установка метода доступа

FULL
ROWID
CLUSTER
HASH
HASH_AJ
INDEX
INDEX_ASC

INDEX_COMBINE
INDEX_DESC
INDEX_FFS

Установка метода доступа FULL ROWID CLUSTER HASH HASH_AJ INDEX INDEX_ASC INDEX_COMBINE INDEX_DESC INDEX_FFS MERGE_AJ AND_EQUAL USE_CONCAT

MERGE_AJ
AND_EQUAL
USE_CONCAT

Слайд 15

Установка порядка соединения

ORDERED
STAR

USE_NL
USE_MERGE
USE_HASH
USE_HASH
DRIVING_SITE

Подсказки для операций соединения

Установка порядка соединения ORDERED STAR USE_NL USE_MERGE USE_HASH USE_HASH DRIVING_SITE Подсказки для операций соединения

Слайд 16

Параллельное выполнение

PARALLEL
NOPARALLEL
APPEND
NOAPPEND
PARALLEL_INDEX
NOPARALLEL_INDEX

Параллельное выполнение PARALLEL NOPARALLEL APPEND NOAPPEND PARALLEL_INDEX NOPARALLEL_INDEX
Имя файла: ОПТИМИЗАЦИЯ-SQL.pptx
Количество просмотров: 127
Количество скачиваний: 0