Get the App
SLTechnology News&Howtos  ›  Database  › 

A test comparison of bound variables and unbound variables in Oracle 10g

Shulou Source: shulou.com Published: 2022-06-01 19:17:10 10月02日 Update

First, create a test table and record the parsing statistics:

To insert data in a loop, the following code does not use binding variables:

It is found that 11 hard parsers have been added.

When you query the v$sqlarea view, you can find these SQL that cannot be shared. Note that each SQL is executed only once. These SQL not only parse the intensive SQL resources, but also take up shared memory to store these different SQL codes:

Rebuild the test table and do a second test:

This time, bind variables are used, and the same 10 data inserts are used:

Now take a look at the statistical database parsed by SQL. Hard parsing has increased from 145 to 147.

For this SQL, there is only one copy in the shared pool, parsed once, and executed 10 times. This is the advantage of binding variables:

Since Oracle has provided a new initialization parameter to force variable binding on the server side since 8.1.6, this parameter is cursor_sharing. Initially, this parameter has two optional settings: exact and force.

Tags: Variables data tests parameters code that is statistics different two advantages memory location database for statistics views resources storage enforcement loops Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Shulou Information OPPO Reno Huawei Shulou Technology NVidia