Oracle è il principale sistema di gestione di database relazionale ad oggetti offerto da Oracle Corporation per i database di livello enterprise. Structured Query Language (SQL) è il linguaggio standard utilizzato per estrarre informazioni dal database. È necessario ottimizzare una query SQL al fine di migliorare le prestazioni delle query per ottenere le informazioni dal database. Oracle 10g ha introdotto "SQL Tuning Advisor," che è possibile accedere tramite un pacchetto chiamato "DBMS_SQLTUNE." Utilizzando l'ottimizzazione comporta la creazione, l'esecuzione, il controllo dello stato e il recupero dei risultati di un'attività di ottimizzazione di SQL.
Istruzioni
1
Creare un'attività di ottimizzazione utilizzando l'istruzione SQL con il tempo e l'ambito come parametri di input nel seguente modo:
CREATE PROCEDURE tuningtask
È
tunetask VARCHAR2(40);
BEGIN
SQLText: = ' selezionare customername
DA cliente, customerorder
DOVE CustomerID = customerorder.customerid
tunetask: = DBMS_SQLTUNE. CREATE_TUNING_TASK (
sql_text = > sqltext,
user_name = > 'sys',
Portata = > 'Completa',
time_limit = > 60,
task_name = > 'customer_orders'
FINE tuningtask;
L'esecuzione del comando di cui sopra verrà creata una routine con l'istruzione SQL per estrarre tutti i clienti che hanno effettuato ordini.
2
Eseguire l'attività di ottimizzazione utilizzando la funzione "EXECUTE_TUNING_TASK" nel modo seguente:
DBMS_SQLTUNE_EXECUTE_TUNING_TASK (task_name = > 'customer_orders');
Eseguito il comando precedente verrà eseguire l'attività di ottimizzazione con il nome 'customer_orders' e analizzare il loro piano di esecuzione.
3
Controllare lo stato dell'attività dal "USER_ADVISOR_TASKS" vista Ottimizzazione SQL nel modo seguente:
SELEZIONATE stato
DA USER_ADVISOR_TASKS
DOVE task_name = 'customer_orders';
Il comando precedente consente di recuperare le informazioni sullo stato dell'attività del nome 'customer_orders'.
4
Recuperare i risultati dell'attività di ottimizzazione di SQL utilizzando la funzione "REPORT_TUNING_TASK" con tutte le raccomandazioni in dettaglio. Immettere il seguente comando per eseguire il report attività funzione di sintonizzazione:
SELEZIONARE DBMS_SQLTUNE. REPORT_TUNING_TASK('customer_orders')
DA DUE;
Dual è la tabella fittizia in Oracle utilizzato in tutti i database Oracle. È usato nei casi dove alcune query non richiedono tutte le tabelle. Il comando precedente mostrerà un report che spiega in dettaglio il tempo di esecuzione di query della query corrente e consigli su come migliorare le prestazioni.
Consigli & Avvertenze
- È necessario disporre di privilegi di "ADVISOR" per poter utilizzare il pacchetto "DBMS_SQLTUNE".