Nwlapcug.com


Come impostare le variabili di Bind su Oracle SQL

Ogni volta che un'istruzione SQL viene inviata al database, una corrispondenza esatta del testo viene eseguita per verificare se l'istruzione è già presente nella piscina condivisa. Se viene trovata alcuna corrispondenza, viene eseguito un processo intensivo di risorse chiamato un parse duro. l'uso di variabili bind può ridurre questo sovraccarico. Le variabili di BIND sono variabili di sostituzione che sono usate al posto di valori letterali (ad esempio "John Doe") che hanno l'effetto di inviare esattamente la stessa SQL per Oracle, ogni volta che viene eseguita una query. Utilizzo delle variabili di bind può comportare un miglioramento significativo delle prestazioni per i database multi-utenti richiesti di frequente.

Istruzioni

1

Definire la variabile che si desidera utilizzare nell'istruzione in SQL * Plus prompt dei comandi utilizzando la sintassi:

variabile << nome della variabile >><< tipo >>

Per esempio:

numero variabile custId

2

Impostare i valori delle variabili definite binding utilizzando la sintassi:

Exec: << nome della variabile >>: = << valore della variabile >>

Per esempio:

Exec: custId: = 123455

3

Immettere l'istruzione SQL, sostituendo la variabile di associazione per il valore letterale. Per esempio:

Selezionare * da emp dove customer_id =: custId;

Consigli & Avvertenze

  • PL/SQL rende variabili bind molto facile da usare perché ogni riferimento a una variabile di PL/SQL è convertito in modo implicito a una variabile di bind. Non è necessaria alcuna sintassi speciale.
  • Durante la creazione di istruzioni SQL dinamiche utilizzando "esecuzione immediata," invece di concatenazione di un valore, come mostrato in questo esempio:
  • esecuzione immediata ' aggiornamento sal set emp = sal * 2 dove empno = ' | | p_empno;
  • invece è possibile sostituire la sintassi variabile di associazione, come illustrato di seguito:
  • esecuzione immediata ' aggiornamento sal set emp = sal * 2 dove empno =: x' usando p_empno;
  • Tenete a mente che legano la variabile dovrebbe essere utilizzato principalmente con query OLTP. Utilizzo di variabili di bind con query di tipo magazzino lunga corsa o dati può ridurre le prestazioni. Ad esempio, l'utilizzo di variabili di bind non consente trasformazioni stelle, che notevolmente riduce l'efficienza di join di tabelle di dimensioni e dei fatti in uno schema a stella.