Oracle 视图 V$SQL_BIND_CAPTURE 官方解释,作用,如何使用详细说明
本站中文解释
部分
Oracle视图V$SQL_BIND_CAPTURE用于捕获有绑定变量的SQL。它将确保每个SQL语句使用正确的输入以提供最佳性能。它在许多情况下(比如绑定变量尚不存在于缓存中时)有助于提高性能。
要使用V$SQL_BIND_CAPTURE,首先要启用它。可以通过以下方式设置和检索:
1. 执行ALTER SESSION和ALTER SYSTEM命令,来设置参数“_b_tree_bitmap_plans”:
ALTER SESSION SET “_b_tree_bitmap_plans”=true;
ALTER SYSTEM SET “_b_tree_bitmap_plans”=true;
2. 然后使用SELECT命令,来检索V$SQL_BIND_CAPTURE视图中的绑定信息:
SELECT * FROM V$SQL_BIND_CAPTURE;
官方英文解释
V$SQL_BIND_CAPTURE
displays information on bind variables used by SQL cursors. Each row in the view contains information for one bind variable defined in a cursor. This includes:
-
Reference to the cursor defining the bind variable
(
hash_value
,address
) for the parent cursor and (hash_value
,child_address
) for the child cursor. -
Bind metadata
Name, position, data type, character set ID, precision, scale, and maximum length of the bind variable.
-
Bind data
One of the bind values used for the bind variable during a past execution of its associated SQL statement. Bind values are not always captured for this view. Bind values are displayed by this view only when the type of the bind variable is simple (this excludes LONG, LOB, and ADT data types) and when the bind variable is used in the
WHERE
orHAVING
clauses of the SQL statement.
Bind capture is disabled when the STATISTICS_LEVEL
initialization parameter is set to BASIC
. This view can be joined with V$SQLAREA
on (HASH_VALUE
, ADDRESS
) and with V$SQL
on (HASH_VALUE
, CHILD_ADDRESS
).
Column | Datatype | Description |
---|---|---|
|
|
Address of the parent cursor |
|
|
Hash value of the parent cursor in the library cache. The hash value is a fixed index for the view and should always be used to speed up access to the view. |
|
|
SQL identifier of the parent cursor in the library cache |
|
|
Address of the child cursor |
|
|
Child cursor number |
|
|
Name of the bind variable |
|
|
Position of the bind variable in the SQL statement |
|
|
If the binding is performed by name and the bind variable is duplicated, then this column gives the position of the primary bind variable. |
|
|
Internal identifier for the bind data type. Beginning in Oracle Database 12c, a number representing a PL/SQL data type can appear in this column. |
|
|
Textual representation of the bind data type. Beginning in Oracle Database 12c, a text representation of a PL/SQL-only data type can appear in this column. If the actual data type is a PL/SQL sub type, the name of the data type, not the sub type will be displayed. |
|
|
National character set identifier |
|
|
Precision (for numeric binds) |
|
|
Scale (for numeric binds) |
|
|
Maximum bind length |
|
|
Indicates whether the bind value was captured ( |
|
|
Date when the bind value was captured. Bind values are captured when SQL statements are executed. To limit the overhead, binds are captured at most every 15 minutes for a given cursor. |
|
|
Value of the bind represented as a string |
|
|
Value of the bind represented using the |
|
|
The ID of the container to which the data pertains. Possible values include:
|
See Also:
-
“STATISTICS_LEVEL”
-
“V$SQLAREA”
-
“V$SQL”