Ideiglenes tábla oracle - online prezentáció
1. Ideiglenes Oracle tábla
2. Definíció
• Ideiglenes táblák tárolják
Adatok a munkamenet vagy tranzakciót.
A megkülönböztető jellemzője ezeknek a táblák
hogy azok kerülnek az ideiglenes szegmensek és
Az adatok ezekben a táblázatokban tárolják csak arra az időszakra
ülés vagy az ügylet függően
meghatározásakor lehetőségeket. Ezek a széles körben
hasznos intermedierek táblázatot, ha
számítások, jelentések és optimalizálás komplex lekérdezések.
• operátor létrehozásához használt ideiglenes táblák
CREATE globális ideiglenes tábla a legfontosabb
szavak COMMIT PRESERVE SORAIBÓL (tárolás
session) vagy ON COMMIT sorok törlése
(Storage adatokat a tranzakció).
3. Gyakorlat 1
4. 2. gyakorlat
5. megjegyzi, ...
• Az adatok a táblázatban 2. táblázat hamarosan megszűnik
befejezése után a tranzakció (opcionális
elkövetni sorok törlése). megkülönböztető
jellemző ideiglenes tábla
Az a tény, hogy ezek a táblák nem csak eltávolítani, de
és nem látható a többi ülés. tehát
a felhasználók egyidejűleg
használja ugyanazt ideiglenes táblát,
keresztezése nélkül adatokat. Ez azt jelenti,
Egyes korlátozások a
ideiglenes táblák.
6. Korlátozások ideiglenes táblák
• Ne adjon a külföldi kulcsok ideiglenes
asztal és utalnak rá, mint egy szülő.
• Nem lehet létrehozni indexek és végre más DDL
üzemeltetők a táblázat után megjelent
adatokat.
• Az ideiglenes táblát nem lehet
partitsionirovana vagy szervezett
index.
• Nem összevessünk átmeneti jelleggel
táblázatokat.
• Elosztott tranzakciók nem működnek
ideiglenes táblák.
7. A lehetőségek ideiglenes táblák
• Ideiglenes táblázatok használhatók
integritási szabályok (kivéve
referenciális integritás szabályok).
• Ideiglenes táblák kísérheti
indexek.
• Megjegyzés: mindkettő lehet adni
csak akkor, ha a táblázat nem jegyez
egyetlen munkamenet vagy tranzakciót.
CREATE globális ideiglenes tábla CITY_DEPT
(
Rszam SZÁMA (2,0),
DNAME VARCHAR2 (14)
CONSTRAINT PK_CITY_DEPT PRIMARY KEY (rszam)
)
ON COMMIT sorok törlése;
================================================== ==============
COMMENT ON oszlop CITY_DEPT.DEPTNO IS részlegszámmal ';
COMMENT ON oszlop CITY_DEPT.DNAME IS osztály nevét ";
• ================================================= ===============
Készítsen egyedi INDEX IDX_DEPTNO_DNAME ON CITY_DEPT (rszam, DNAME);
CREATE INDEX IDX_DNAME ON CITY_DEPT (DNAME);
===============================================
9. Az a statisztika lekérdezések teljesítményét elleni ideiglenes táblák
• Két fontos típusú statisztikák
tekintetében ideiglenes táblák:
• SESSION - szinten ügyfélmunkamenethez
• Megosztott - megosztva
ügyfélmunkamenethez
10. SESSION megosztott és statisztika
• SESSION-statisztikákat gyűjtenek és használnak
Csak a jelenlegi kliens ülésén.
• Ha egyidejűleg kétféle
Statisztika (SESSION és megosztott), majd
Az optimalizáló inkább SESSIONstatistike.
• SESSION-statisztika távolítani, amint
Session végződik.
• megosztott statisztika megmarad
A munkamenet befejeződött.
11. Az alábbiak közül melyik felelős a kiválasztott típusú statisztikák?
lehetőség - GLOBAL_TEMP_TABLE_STATS
Honnan tudja a jelentését:
SELECT DBMS_STATS.get_prefs ( 'GLOBAL_TEMP_TABLE_STATS')
FROM dual;
12. gyakorlat
• Ellenőrizze ORACLE APEX típusával
Statisztika ideiglenes táblák.
13. Hogyan változik a fajta statisztika?
• BEGIN
DBMS_STATS.set_global_prefs
(Pname => 'GLOBAL_TEMP_TABLE_STATS',
pvalue => 'megosztott');
• END;
• /
• BEGIN
DBMS_STATS.set_global_prefs
(Pname => 'GLOBAL_TEMP_TABLE_STATS',
pvalue => Session ');
• END;
• /
• Megjegyzés: ezeket a műveleteket a lehető
Csak a megfelelő jogosultsággal !!
14. Hogyan statisztikák gyűjtésére?
• DBMS_STATS.gather_table_stats (
• Megjegyzés: A hívás gather_table_stats egyszerű eljárás hozzáférhető
felhasználók APEX
15. Hol tudom megnézni a gyűjtött statisztikák?
• DBA_TAB_STATISTICS
• DBA_IND_STATISTICS
• DBA_TAB_HISTOGRAMS
DBA_TAB_COL_STATISTICS
• Nézze meg, nem lehet
megfelelő adminisztratív
kiváltságokat ...
16. Hogyan működik az egész ciklus használatát ideiglenes táblák az eljárások és függvények?
• BEGIN
tiszta ideiglenes tábla
feltölti az ideiglenes táblázat adatait (általában
aggregált)
gyűjteni (ülés) vagy sbiralsya Statisztika (megosztott)
válasszuk adatokat egy ideiglenes tábla
• END
• Megjegyzés: Ebben az esetben a függvény legyen
bejelentett autonóm tranzakciót.
17. példa
CREATE TYPE t_tf_row mint objektum (azonosító száma, leírás VARCHAR2 (50));
/
CREATE TYPE t_tf_tab IS TÁBLÁZAT t_tf_row;
/
hozzon létre vagy cserélje funkció get_tab_ptf (p_rows számban)
visszaút t_tf_tab pipeline
van PRAGMA AUTONOMOUS_TRANSACTION;
kezdődik
-- tiszta ideiglenes tábla
végre azonnali ( „csonka táblázat tábla1”);
-- helyezze a táblázat adatai
for i in 1..p_rows hurok
beilleszteni tabla1 (id, név) értékek (i, 'leírása' || i);
végén hurok;
-- Gyűjtjük statisztikák
dbms_stats.gather_table_stats ( 'GRAFEEVA', '1 Táblázat');
-- képező eredmény
A REC (select * from tabla1) hurok
cső sorban (t_tf_row (rec.id, rec.name));
végén hurok;
return;
végén;
/
select * from tábla (get_tab_ptf (10))
18. gyakorlat (5 pont) létrehozása funkció, amely kiadja az eredményt az űrlap alapján EMP tábla (használati idő táblázat):
1980
CLERK
saleman
MANAGER
ELNÖK
összességében
1981
1982
1983
összességében