Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Hint oracle
lunedì 07 aprile 2014 - 17.16
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Gio'
Profilo
| Newbie
13
messaggi | Data Invio:
lun 7 apr 2014 - 17:16
buonasera, volevo chiedere un informazione, mi hanno dato da analizzare una procedura pl/sql, nella quale sono indicate delle istruzioni sql che utilizzano gli hint, siccome non li ho mai utilizzati, so che sono delle linee guida agli accessi oracle, volevo chiedere, nello specifico cosa significano tecnicamente, quelli che stanno nella mia procedura sono i seguenti:
select/*+ parallel(a 4)*/ a.campo1,
a.campo2,
a.campo3
from T1 a
select/*+leading(b) full(b) parallel(b 4)
use_hash(b a) */
a.campo1,
a.campo2,
b.campo1
from T1 a, T2 b
ho provato a vedere su internet, ma non essendo molto pratica non ho capito tanto
e' possibile sapere nello specifico, in queste due select, cosa stanno a significare gli hint inseriti
grazie
saluti
Gio'
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 9 apr 2014 - 10:58
>buonasera,
ciao
vediamo di elencarli, cerco di darti una mano anche se di oracle conosco poche cose. Mi baso sull'esperienza in SQL Server.
PARALLEL (grado di parallelismo)
http://docs.oracle.com/cd/B10500_01/server.920/a96533/hintsref.htm#5833
consente di specificare il numero di server utilizzati per parallelizzare un'operazione.
In uno dei tuoi casi, ad esempio, per la tabella puntata dall'alias "a" puoi far accedere 4 server concorrenti.
LEADING (join hint)
http://docs.oracle.com/cd/B10500_01/server.920/a96533/hintsref.htm#5730
Specifica qual è la tabella che deve essere la prima nell'interpretare le join nel comando (a runtime).
Nel tuo esempio, b (ovvero T2) è la tabella ad essere considerata per prima.
USE_HASH (join hint)
http://docs.oracle.com/cd/B10500_01/server.920/a96533/hintsref.htm#5683
Forza la join con algoritmo di hash join
http://en.wikipedia.org/wiki/Hash_join
Questo è da approfondire, perchè chiama in causa funzioni di hashing, tabelle hash, ed infine algoritmo per effettuare la join.
FULL (accesso a tabella)
http://docs.oracle.com/cd/B10500_01/server.920/a96533/hintsref.htm#5078
Forza il fullscan (scorrimento dall'inizio alla fine della tabella) sulla tabella indicata, per te b, ovvero T2.
>ho provato a vedere su internet, ma non essendo molto pratica non ho capito tanto
per capire questi hint serve esperienza di tuning, dal giorno alla notte non è poco..
>grazie
di nulla!
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
Gio'
Profilo
| Newbie
13
messaggi | Data Invio:
mer 9 apr 2014 - 14:06
grazie mille, sei stato gentilissimo, mi e' chiaro quasi tutto, l'unica cosa che non ho capito molto e' il parallel, cioe' quando dici parallel (a 4) consente di specificare il numero di server utilizzati per parallelizzare un'operazione, cosa intendi con la parola server, le aree di memoria?
mi spiego meglio, il server su cui risiedono le mie tabelle e' uno solo, quindi il 4 cosa sta ad indicare? le possibili aree da utilizzare nell'accesso?
grazie per la disponibilita'
saluti
Gio'
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 10 apr 2014 - 10:17
>grazie mille, sei stato gentilissimo, mi e' chiaro quasi tutto,
>l'unica cosa che non ho capito molto e' il parallel, cioe' quando
>dici parallel (a 4) consente di specificare il numero di server
>utilizzati per parallelizzare un'operazione, cosa intendi con
>la parola server, le aree di memoria?
Come ti dicevo, per arrivare agli internals di oracle, dovrei lavorarci seriamente.
Ma la documentazione ti viene in aiuto. Dai una letta qui, secondo me trovi le risposte:
http://docs.oracle.com/cd/E11882_01/server.112/e25523/parallel002.htm
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
Gio'
Profilo
| Newbie
13
messaggi | Data Invio:
gio 10 apr 2014 - 10:34
ok, ora me la studio un po
grazie mille
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !