-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSQL.txt
34 lines (31 loc) · 1.61 KB
/
SQL.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Plan Table
example of query for plan of execution:
explain plan for
select * from nc_objects where description is not null;
query whith return last query:
select * from table(dbns_xplan.display);
*operator table - convert array of data in table
PGA - место хранения в памяти для БД, если не хватит на диск
Join methods
- Nested loops : hint = /*+ use_nl(o p)*/ ищет по соответствию в таблицах, берет знач в 1 таб и ищет соответствия во второй
- Hash join: hint = /*+ use_HASH(o p)*/сравнение значений hash двух и более выборок, для интервальных выборок не подойдет
- Sort merge: сравнение отсортированных значений, для интервальных выборок
- Cartesian merge: декартовое произведение выбора
Investigate query
1. time(without cashe)
2. explain plan
3. set autotrace on/off
Statistics
recursive calls - call query into current query, example pl/sql query and dictionary for oracle(not change elapsed)
db block gets
consistent gets (reads from cashe)
physical reads (reads from disk)
redo size размер записи в журнале запроса транзакций
bytes sent via SQL*Net to client
bytes received via SQL*Net from client
SQL*Net roundtrips to/from client (request/respond)
sorts (memory)
sorts (disc)
rows processed
4. hint /*+ gather_plan_statistics */
select * from table(dbms_xplan.display_cursor(format => 'LAST ALLSTATS'))