studii caz fulltablescan
TRANSCRIPT
-
5/19/2018 Studii Caz Fulltablescan
1/35
AUTOR TEMATICA DATA VERSIUNEA Verificat
Mirela Busoi Cum sa
evitam full
table scan
19.05.2014 1 Catalin
TomoiuOracle 11g
Release 2
-
5/19/2018 Studii Caz Fulltablescan
2/35
Eem!lul 1 Tabela Monitor 1000000 inregistrari " fara index
-
5/19/2018 Studii Caz Fulltablescan
3/35
-
5/19/2018 Studii Caz Fulltablescan
4/35
Eem!lul 2 Tabela Monitor 1000000 inregistrari cu index
-
5/19/2018 Studii Caz Fulltablescan
5/35
-
5/19/2018 Studii Caz Fulltablescan
6/35
Eem!lul #
Tabela Monitor 0 inregistrari cu in$e
%e fac statistici& sunt eronate
-
5/19/2018 Studii Caz Fulltablescan
7/35
Eem!lul 4 & se inserea'a 1000000 ran$uri in tabela Monitor
%e fac $in nou statistici
-
5/19/2018 Studii Caz Fulltablescan
8/35
-
5/19/2018 Studii Caz Fulltablescan
9/35
Cu statistici eronate
-
5/19/2018 Studii Caz Fulltablescan
10/35
Cu statistici corecte
Eem!lul 5
Tabela %()(R*(T* cu in$e !e *+,- 100000 ran$uri
/acem statistici !e tabela
-
5/19/2018 Studii Caz Fulltablescan
11/35
(!oi consultam e!lain !lan !entru 2 selecturi
a %E)ECT CO3T /ROM %()(R*(T* 67ERE *+ 8 1000b %E)ECT *+:3ME /ROM %()(R*(T* 67ERE *% 8 1000
-
5/19/2018 Studii Caz Fulltablescan
12/35
%elect count foloseste $oar in$e&ul
-
5/19/2018 Studii Caz Fulltablescan
13/35
(!oi golim tabela si re!etam cele 2 selecturi $e mai sus fara sa luam alte
statistici.
-
5/19/2018 Studii Caz Fulltablescan
14/35
-
5/19/2018 Studii Caz Fulltablescan
15/35
-
5/19/2018 Studii Caz Fulltablescan
16/35
%tatistici $u!a golirea tabelei
-
5/19/2018 Studii Caz Fulltablescan
17/35
E!lain !lan !entru !rimul select TO(+
-
5/19/2018 Studii Caz Fulltablescan
18/35
%elect count consulta $oar in$eul.
E!lain !lan !entru al $oilea select TO(+
-
5/19/2018 Studii Caz Fulltablescan
19/35
-
5/19/2018 Studii Caz Fulltablescan
20/35
*n %;) conectati ca % EXLAIN LAN for se!ect count"#$ fro% SALARIATI &'ERE ID ( )***+
%;)= select from table+BM%,>-)(3.+*%-)( R(3FE %C(3 %()(R*(T*,- 1 1# 0 0
00001
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
-re$icate *nformation i$entifie$ bD o!eration i$
-
5/19/2018 Studii Caz Fulltablescan
21/35
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
2 & accessG*+G81000
14 ros selecte$.
%;)=
SQL> EXLAIN LAN for se!ect ID,NUME fro% SALARIATI -.ere ID ( )***+
%;)= select from table+BM%,>-)(3.+*%-)( RO6*+ %()(R*(T* 1 #0
0 0
000001
2 *3+E> R(3FE %C(3 %()(R*(T*,- 1 0 0
000001
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
-re$icate *nformation i$entifie$ bD o!eration i$
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
2 & accessG*+G81000
14 ros selecte$.
%;)=
Eem!lul @
(vem tabela (3F(I(T*2 cu in$e !e coloana %()(R*
-
5/19/2018 Studii Caz Fulltablescan
22/35
)uam statistici !e tabela
-
5/19/2018 Studii Caz Fulltablescan
23/35
-
5/19/2018 Studii Caz Fulltablescan
24/35
/unctia RO3+ !e coloana %()(R* face ca select&ul sa nu consulte
in$e&ul si se face full table scan.
-
5/19/2018 Studii Caz Fulltablescan
25/35
Este $e !referat clau'a 67ERE in locul clau'ei 7(J*3F
-
5/19/2018 Studii Caz Fulltablescan
26/35
Este $e evitat instructiunea )*E in select: $aca !oate fi inlocuita cu
KL: !entru ca )*E face full table scan.
-
5/19/2018 Studii Caz Fulltablescan
27/35
-
5/19/2018 Studii Caz Fulltablescan
28/35
-utem sim!lifica cererile %;) com!lee !rin utili'area clau'ei 6*T7
-
5/19/2018 Studii Caz Fulltablescan
29/35
-
5/19/2018 Studii Caz Fulltablescan
30/35
-
5/19/2018 Studii Caz Fulltablescan
31/35
-
5/19/2018 Studii Caz Fulltablescan
32/35
-
5/19/2018 Studii Caz Fulltablescan
33/35
-
5/19/2018 Studii Caz Fulltablescan
34/35
NOTA
Ca sa evitam full table scan !e o tabela este im!ortant
& sa avem in$e creat !e acea tabela si sa il folosim cu aNutorul
utilitarului Toa$ ve$em: in e!lain !lan: $aca a fost folosit sau nu
in$eul
& sa luam statistici ori $e cate ori este nevoie se fac tran'actii multe
sa o!timi'am selectul tinan$ cont $e urmatoarele
o select count foloseste $oar in$eul
o orice functie RO3+: TR*M: )TR*M: TR3C:etc !e
o coloana a tabelei $etermina full table scan: nu consulta
in$e&ul.
-
5/19/2018 Studii Caz Fulltablescan
35/35
clau'a 6*T7sim!lifica cererile %;) com!lee
can$ e !osibil: e $e !referat egalitatea : nu instructiunea )iPe
este $e !referat clau'a 67ERE in locul clau'ei
7(J*3F