OceanBase logo

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

Product Overview
DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Resources

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS

OceanBase Cloud

OceanBase Database

Tools

Connectors and Middleware

QUICK START

OceanBase Cloud

OceanBase Database

BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Company

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

International - English
中国站 - 简体中文
日本 - 日本語
Sign In
Start on Cloud

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

Product Overview
DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS
OceanBase CloudOceanBase Database
ToolsConnectors and Middleware
QUICK START
OceanBase CloudOceanBase Database
BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

Start on Cloud
编组
All Products
    • Databases
    • iconOceanBase Database
    • iconOceanBase Cloud
    • iconOceanBase Tugraph
    • iconInteractive Tutorials
    • iconOceanBase Best Practices
    • Tools
    • iconOceanBase Cloud Platform
    • iconOceanBase Migration Service
    • iconOceanBase Developer Center
    • iconOceanBase Migration Assessment
    • iconOceanBase Admin Tool
    • iconOceanBase Loader and Dumper
    • iconOceanBase Deployer
    • iconKubernetes operator for OceanBase
    • iconOceanBase Diagnostic Tool
    • iconOceanBase Binlog Service
    • Connectors and Middleware
    • iconOceanBase Database Proxy
    • iconEmbedded SQL in C for OceanBase
    • iconOceanBase Call Interface
    • iconOceanBase Connector/C
    • iconOceanBase Connector/J
    • iconOceanBase Connector/ODBC
    • iconOceanBase Connector/NET
icon

OceanBase Database

SQL - V4.6.0

  • What's New
  • What is OceanBase Database
    • Overview
    • Architecture
    • Compatibility with Oracle
      • Overview of Oracle compatibility
      • SQL data types
      • Built-in functions
      • System views
    • Compatibility with MySQL
    • Limitations
  • Get Started
    • Quick start with OceanBase Database Community Edition
    • Learn OceanBase SQL
      • Before you begin
      • Basic SQL operations (MySQL mode)
      • Basic SQL operations (Oracle mode)
    • Build a sample application (MySQL-compatible mode)
      • Build a Python application
      • Build a Java application
      • Build a C application
      • Build a Go application
    • Build a sample application (Oracle-compatible mode)
      • Create a Java sample application
      • Create a C application
    • Try out advanced features of OceanBase Database
      • Scalable OLTP
        • Run the TPC-C benchmark in OceanBase Database
        • Try out the hot row update capability of OceanBase Database
      • Try out operational OLAP
      • Try out parallel import and data compression
      • Try out the multi-tenant feature
  • Develop
    • Develop applications (MySQL-compatible mode)
      • Connect to OceanBase Database
        • Overview
        • Connect to an OceanBase tenant by using the mysql client
        • Connect to an OceanBase tenant by using OBClient
        • Connect to OceanBase Database by using ODC
        • Connect to OceanBase Database by using DBeaver
        • Connect to OceanBase Database by using Navicat
        • Use database connection pool
          • Database connection pool configuration
          • Tomcat
          • c3p0
          • Proxool
          • HikariCP
          • DBCP
          • Commons Pool
          • Druid
          • JDBC
      • Sample applications
        • Java
          • Spring Boot
          • Spring Batch
          • Spring JDBC
          • Spring Data JPA
          • Hibernate
          • MyBatis sample application for connecting to OceanBase Database
          • Connector/J
          • TestContainers
        • Python
          • mysqlclient
          • PyMySQL
          • MySQL-connector-python
        • C
          • MySQL Connector/C
        • Go
          • Go-SQL-Driver/MySQL
          • GORM
        • NET
          • Connect to an OceanBase database by using OceanBase Connector/NET
        • PHP
          • EXT
          • MySQLi
          • PDO
        • Rust
          • Connect to OceanBase Database by using Rust
          • Connect to OceanBase Database by using SeaORM
      • Plan database objects
        • Create a database
        • Create a table group
        • Create a table
        • Create an index
        • Create an external table
      • Write data
        • Insert data
        • Update data
        • Delete data
        • Replace data
        • Generate test data in batches
      • Read data
        • Single-table queries
        • Join tables
          • INNER JOIN queries
          • FULL JOIN queries
          • LEFT JOIN queries
          • RIGHT JOIN queries
          • Subqueries
          • Lateral derived table
        • Use operators and functions in queries
          • Use arithmetic operators in queries
          • Use numerical functions in queries
          • Use string concatenation operators in queries
          • Use string functions in queries
          • Use datetime functions in queries
          • Use type conversion functions in queries
          • Use aggregate functions in queries
          • Use NULL-related functions in queries
          • Use the CASE conditional operator in queries
          • Lock query results with SELECT FOR UPDATE
          • Use the SELECT ... LOCK IN SHARE MODE statement to lock query results
        • Use a DBLink in queries
        • Set operations
      • Transactions
        • Overview
        • Start a transaction
        • Savepoints
          • Mark a savepoint
          • Roll back a transaction to a savepoint
          • Release a savepoint
        • Commit a transaction
        • Roll back a transaction
      • Application errors
        • Troubleshooting guidelines
          • About error codes
          • Error handling specifications for MySQL-compatible applications
        • Common errors and troubleshooting practices
          • Disconnected from the server, with ERROR 2013 reported
          • Idle transaction timed out, with ERROR 6002 reported
          • Transaction timed out, with ERROR 4012 reported
          • User locked, with ERROR 3118 reported
          • Incorrect user password, with ERROR 1045 reported
          • Table already exists, with ERROR 1050 reported
          • Table does not exist, with ERROR 1146 reported
          • Duplicate data inserted, with ERROR 1062 reported
          • ERROR 1215 reported in foreign key addition
          • Data truncated while being inserted, with ERROR 1265 reported
    • Develop applications (Oracle-compatible mode)
      • Connect to OceanBase Database
        • Overview
        • Connect to an OceanBase tenant by using OBClient
        • Connect to OceanBase Database by using ODC
        • Use database connection pool
          • Database connection pool configuration
          • Tomcat
          • c3p0
          • Proxool
          • HikariCP
          • DBCP
          • Commons Pool
          • Druid
      • Sample applications
        • Java
          • OceanBase Connector/J
          • Spring Boot
          • Spring Batch
          • Spring Data JDBC
          • Spring Data JPA
          • Hibernate
          • MyBatis
          • JFinal
        • C/C++
          • OceanBase Connector/C
          • OceanBase Connector/ODBC
          • SqlSugar
        • NET
          • Connect to OceanBase Database using OceanBase Connector/NET
      • Plan database objects
        • Create a table group
        • Create a table
        • Create an index
        • Create an external table
      • Write data
        • Insert data
        • Update data
        • Delete data
        • Replace data
        • Generate test data in batches
      • Read data
        • Single-table queries
        • Join tables
          • INNER JOIN queries
          • FULL JOIN queries
          • LEFT JOIN queries
          • RIGHT JOIN queries
          • Subqueries
          • Lateral derived tables
        • Use operators and functions in queries
          • Use arithmetic operators in queries
          • Use numerical functions in queries
          • Use string concatenation operators in queries
          • Use string functions in queries
          • Use datetime functions in queries
          • Use type conversion functions in queries
          • Use aggregate functions in queries
          • Use NULL-related functions in queries
          • Use CASE functions in queries
          • Use the SELECT...FOR UPDATE statement to lock query results
        • Use a DBLink in queries
        • Set operations
      • Transactions
        • Overview
        • Start a transaction
        • Savepoints
          • Mark a savepoint
          • Roll back a transaction to a savepoint
        • Commit a transaction
        • Roll back a transaction
      • Application errors
        • Troubleshooting guidelines
          • About error codes
          • Error handling specifications for Oracle-compatible applications
        • Common errors and troubleshooting practices
          • Idle transaction timed out, with Error OBE-24761 reported
          • Transaction timed out, with Error OBE-00600 reported
          • User locked, with ERROR 3118 reported
          • Incorrect user password, with ERROR 1045 reported
          • Table already exists, with Error OBE-00955 reported
          • Table does not exist, with Error OBE-04043 reported
          • Duplicate data inserted, with Error OBE-00001 reported
          • Error OBE-00600 reported in foreign key addition
          • Inconsistent data types, with Error OBE-00932 reported
  • Deploy
    • Overview
    • HA deployment solutions for OceanBase clusters
    • Deploy OceanBase Database Enterprise Edition
      • Deployment process
      • Before deployment
        • Prepare servers
        • Configure servers
        • Prepare installation packages
        • Deploy OAT
      • Deploy through GUI
        • Configure deployment environment using OAT
          • Add a server
        • Deploy OCP
          • Overview
          • Upload installation packages
          • Create MetaDB
          • Deploy OCP
        • Deploy OceanBase clusters using OCP
          • Deploy a two-replica OceanBase cluster with the arbitration service by using OCP
          • Deploy a single-replica OceanBase cluster by using OCP
          • Deploy a three-replica OceanBase cluster by using OCP
        • (Optional) Deploy ODP
      • Deploy through CLI
        • Configure deployment environment
          • Initialize an OBServer node by using oatcli
          • (Optional) Configure the clock source
        • Deploy OceanBase clusters using CLI
          • Deploy a two-replica OceanBase cluster with the arbitration service by using the CLI
          • Deploy a single-replica OceanBase cluster by using the CLI
          • Deploy a three-replica OceanBase cluster by using the CLI
        • (Optional) Deploy ODP
      • Deploy OceanBase Database Java SDK
    • Clear an OceanBase cluster
    • Recommended configurations
  • OceanBase version upgrade
    • OceanBase Database Enterprise Edition
      • Overview
      • Upgrade an arbitration service
      • Upgrade an OceanBase cluster
      • Check the status after the upgrade
    • OceanBase Database Community Edition
      • Upgrade OceanBase Database with obd
  • Migrate
    • Overview
    • Migrate from MySQL databases to OceanBase Database
      • Use OMS to migrate data from a MySQL database to a MySQL tenant of OceanBase Database
      • Use mydumper and myloader to migrate data from a MySQL database to OceanBase Database
      • Use DBCAT to migrate schemas from a MySQL database to OceanBase Database
      • Use DataX to migrate table data from a MySQL database to OceanBase Database
      • Use CloudCanal to migrate data from a MySQL database to OceanBase Database
      • Use Canal to synchronize data from a MySQL database to OceanBase Database
      • Use Flink CDC to synchronize data from a MySQL database to OceanBase Database
      • Use ChunJun to migrate data from a MySQL database to OceanBase Database
    • Migrate from OceanBase Database to MySQL databases
      • Use OMS to migrate data from a MySQL tenant of OceanBase Database to a MySQL database
      • Use OMS to migrate incremental data from an Oracle tenant of OceanBase Database to a MySQL database
      • Use DBCAT to migrate schemas from OceanBase Database to a MySQL database
      • Use DataX to migrate table data from OceanBase Database to a MySQL database
      • Use Canal to synchronize data from OceanBase Database to a MySQL database
      • Use CloudCanal to migrate data from OceanBase Database to a MySQL database
      • Use Flink CDC to migrate data from OceanBase Database to a MySQL database
      • Use ChunJun to migrate data from OceanBase Database to a MySQL database
    • Migrate from Oracle databases to OceanBase Database
      • Use OMS to migrate data from an Oracle database to a MySQL tenant of OceanBase Database
      • Use OMS to migrate data from an Oracle database to an Oracle tenant of OceanBase Database
      • Use DBCAT to migrate schemas from an Oracle database to OceanBase Database
      • Use DataX to migrate table data from an Oracle database to OceanBase Database
    • Migrate from OceanBase Database to Oracle databases
      • Use OMS to migrate data from an Oracle tenant of OceanBase Database to an Oracle database
      • Use DBCAT to migrate schemas from OceanBase Database to an Oracle database
      • Use DataX to migrate table data from OceanBase Database to an Oracle database
    • Migrate from DB2 databases to OceanBase Database
      • Use OMS to migrate data from a DB2 LUW database to a MySQL tenant of OceanBase Database
      • Use OMS to migrate data from a DB2 LUW database to an Oracle tenant of OceanBase Database
      • Use DBCAT to migrate table schemas from a DB2 LUW database to OceanBase Database
    • Migrate from OceanBase Database to DB2 databases
      • Use OMS to migrate data from a MySQL tenant of OceanBase Database to a DB2 LUW database
      • Use OMS to migrate data from an Oracle tenant of OceanBase Database to a DB2 LUW database
    • Migrate from TiDB databases to OceanBase Database
      • Use OMS to migrate data from a TiDB database to a MySQL tenant of OceanBase Database
    • Migrate from PostgreSQL databases to OceanBase Database
      • Use OMS to migrate data from a PostgreSQL database to a MySQL tenant of OceanBase Database
    • Migrate from CSV files to OceanBase Database
      • Use DataX to migrate CSV files to OceanBase Database
      • Import data by using the LOAD DATA statement
    • Import data from SQL files to OceanBase Database
    • Migrate data between OceanBase Database
      • Use OMS to migrate data from an OceanBase tenant to another of the same type
      • Use OMS to migrate data from an OceanBase tenant to another of the same type in active-active disaster recovery scenarios
      • Use obloader & obdumper to migrate data between MySQL tenants in OceanBase Database
      • Use obloader & obdumper to migrate data from a MySQL tenant to an Oracle tenant in OceanBase Database
      • Use obloader & obdumper to migrate data between Oracle tenants in OceanBase Database
      • Use obloader & obdumper to migrate data from an Oracle tenant to a MySQL tenant in OceanBase Database
    • Migrate data using SQL statements
      • Migrate data between tables
      • Migrate resource units
      • Export data using the OUTFILE statement
    • Overview of direct load
  • Manage
    • Log in to an OceanBase tenant
    • Manage clusters
      • Overview
      • Cluster parameters
      • Common cluster operations
        • View a zone
        • View a node
        • Restart a node
        • Add nodes
        • Delete a node
        • Isolate a node
        • Replace a node
        • Start a zone
        • Add a zone
        • Delete a zone
        • Modify a zone
        • Isolate a zone
        • View cluster parameters
        • Modify cluster parameters
        • Reset cluster parameters
      • Troubleshoot common problems
        • Failures of a minority of nodes
        • Failures of the majority of nodes
    • Manage tenants
      • Tenant introduction
      • Tenant capacity
      • Tenant types
      • User tenant introduction
      • Tenant system variables
      • Common tenant operations
        • Create a tenant
        • Resource isolation
          • Overview
          • Manage resource isolation (Oracle-compatible mode)
            • Configure cgroups
            • Configure global CPU resource isolation for frontend and backend tasks
            • Calibrate the disk performance
            • Configure resource isolation within a tenant
            • Update a plan directive
            • Delete a plan directive
            • Delete a resource management plan
            • Delete a resource group
            • Clear cgroup configurations
          • Manage resource isolation (MySQL-compatible mode)
            • Configure cgroups
            • Configure global CPU resource isolation for foreground and background tasks
            • Calibrate the disk performance
            • Configure resource isolation within a tenant
            • Update resource management plan directive
            • Delete a plan directive
            • Delete a resource management plan
            • Delete a resource group
            • Clear cgroup configurations
        • View tenant and resource information
        • View and set the tenant allowlist
        • View system variables of a tenant
        • Modify system variables of a tenant
        • Scale in/out
          • Overview
          • Plan resources
          • Tenant pre-scaling
          • Modify the unit config for a tenant
          • Modify the number of resource units for a tenant
          • Modify the number of primary zones for a tenant
          • Smooth scaling application scenarios
        • Modify attributes of a resource pool
        • Modify attributes of a tenant
        • Lock and unlock a tenant
        • Clone a tenant
        • Cancel tenant cloning
        • Drop a tenant
        • Restore a tenant
        • Rename a tenant
        • Manage resource pools
          • View resource pool information
          • Allocate a resource pool to a tenant
          • Remove resource pools from a tenant
          • Merge and split a resource pool
          • Drop a resource pool
        • Manage unit configs
          • Query unit configs
          • Modify a unit config
          • Drop a unit config
        • Manage services
          • Create a service
          • Query the service status
          • Start a service
          • Stop a service
          • Delete a service
    • Manage log streams
      • Create a log stream
      • Modify a log stream
    • Manage replicas
      • Replicas
      • Replica distribution
        • Locality
        • Common locality operations
          • View locality
          • Modify locality
          • Add a replica
          • Remove replicas
          • Convert the type of a replica
          • Adjust the distribution of replicas
          • View the locality change history
          • Replica migration
          • Modify the number of Paxos replicas of a log stream
          • Cancel a replica task
      • Traffic distribution
      • Data distribution
    • Data load balancing
      • Overview
      • Transfer Partition
      • Cancel a partition transfer task
      • Cancel a Balance Job
      • Partition balance management
        • View the partition balancing task in the background
        • View the history of partition balancing tasks in the background
      • GTS standalone application scenario
    • High availability
      • High availability overview
      • Multi-replica disaster recovery
        • Data link introduction
        • ODP high availability
        • Database-level high availability
        • Disaster recovery architecture and levels
      • Physical standby database disaster recovery
        • Overview
        • Limitations
        • Create a standby tenant
          • Preparations
          • Create an empty standby tenant
          • Create a standby tenant by using the backup and restore (with complete logs) feature
          • Create a standby tenant by using the BACKUP DATABASE PLUS ARCHIVELOG feature
        • Log transmission service
          • Overview
          • Configure log transmission service
            • Set a log restore source
            • Specify a log restore endpoint
          • View log restore source information
          • View the log synchronization progress
          • Pause or resume log synchronization
          • Optimize the log synchronization performance
          • Set the log synchronization bandwidth limit
          • Specify log compression
        • Log storage service
        • Switch roles
          • Overview of tenant roles
          • Switchover
          • Failover
        • Drop primary and standby tenants
      • Arbitration high availability
        • Overview
        • Enable arbitration service for a tenant
        • Disable the arbitration service for a tenant
        • Modify the log stream downgrade control time
        • Query log stream upgrade/downgrade information
        • Replace the arbitration service for a cluster
        • Remove the arbitration service for a cluster
        • Clear residual cluster information
      • Manage recycle bin
        • Overview
        • Enable or disable the recycle bin
        • View objects in the recycle bin
        • Restore objects from the recycle bin
        • Purge the recycle bin
      • Flashback queries
    • Security and permissions
      • Overview
      • Identification and authentication
        • MySQL-compatible mode
          • Identity authentication
          • Password complexity
          • Login failure processing
        • Oracle-compatible mode
          • Identity authentication
          • Password complexity
          • Login failure processing
      • Access control
        • Overview
        • Users and permissions
          • Overview
          • MySQL-compatible mode
            • Privilege types in MySQL mode
            • Create a user
            • Grant direct privileges
            • Privilege delegation
            • Role management
              • Overview
              • Create a role
              • Grant privileges to a role
              • Grant a role to a user or another role
              • Activate a role
              • View roles
              • Revoke privileges from a role
              • Revoke a role from a user or another role
              • Drop a role
            • Grant indirect privileges
            • View user privileges
            • Revoke privileges
            • Lock or unlock a user
            • Drop a user
          • Oracle-compatible mode
            • Privilege types in Oracle mode
            • Create a user
            • View the information of a user
            • Grant direct privileges
            • Privilege delegation
            • Manage roles
              • Overview
              • Create a role
              • Grant a role to another role
              • Grant a role to a user
              • Activate or deactivate roles for a user
              • View roles
              • Modify a role
              • Revoke a role
              • Drop a role
            • Grant indirect privileges
            • View user privileges
            • Revoke privileges
            • Use a proxy user
            • Lock or unlock a user
            • Drop a user
        • Network security access control
        • RPC connection authentication
        • Row-level access control
      • Data encryption
        • Overview
        • Data transmission encryption
          • Overview
          • Transport encryption for OBServer
          • ODP transmission encryption
        • Tenant master key management
          • Overview
          • Generate a tenant master key (MySQL mode)
          • Generate a tenant master key (Oracle mode)
        • Data storage encryption
          • Overview
          • MySQL-compatible mode
            • Enable TDE for new tables
            • Enable TDE for existing tables
            • Decrypt a table
          • Oracle-compatible mode
            • Enable TDE for new tables
            • Enable TDE for existing tables
            • Decrypt a table
        • Column encryption
          • Overview of column encryption
          • MySQL-compatible mode
            • Create a column encryption rule
            • Manage column encryption privileges
          • Oracle-compatible mode
            • Create a column encryption rule
            • Column encryption permissions
          • FAQ about column encryption
      • Security audit
        • Security audit overview
        • Security audit in MySQL-compatible mode
          • Enable security auditing
          • Set an auditing rule
          • View auditing records
          • Disable security auditing
        • Security audit in Oracle-compatible mode
          • Enable security auditing
          • Set and view auditing rules
          • View auditing records
          • Audit user logins
          • Audit user operations
          • Audit specified database objects
    • Backup and restore
      • Overview
      • Experience physical backup and restore with simplified deployment
      • Deploy NFS
      • Log archive
        • Overview
        • Prepare for log archiving
        • Enable ARCHIVELOG
        • Suspend archiving
        • Disable ARCHIVELOG
        • View information about pieces
        • View the archiving progress
        • View the archiving history
        • View archiving parameter settings
        • Change the log archive destination
        • Clear the archive path setting
        • Views related to log archiving
      • Data backup
        • Prepare for backup
        • Initiate a full data backup job
        • Initiate an incremental data backup job
        • Back up parameters
        • Stop a backup job
        • View the data backup progress
        • View the data backup history
        • View parameters related to data backup
        • Change the backup destination
        • Views related to data backup
      • Update `access_id` and `access_key` information for the backup or archive path
      • Clear backup data
        • Query the backup cleanup progress
        • Query the backup cleanup history
        • Backup cleanup parameter
        • Views related to backup cleanup
      • Backup validation
        • Backup validation overview
        • Validate the entire backup path and archive path
        • Validate a specified backup set or log archive piece
        • Validate a backup set or log archive piece in a specified path
        • Cancel a backup validation task
        • View the backup verification progress
        • View the backup validation result
      • Restore data
        • Prepare for restore
        • Perform physical restore
        • Perform restore from the specified paths
        • Cancel physical restore
        • View the physical restore progress
        • View physical restore results
        • Replay logs to a standby tenant
        • Convert a standby tenant into primary tenant
        • Upgrade a tenant after restore
        • Parameters related to physical restore
        • Views related to physical restore
      • Restore by table
        • Overview of table-level restore
        • Preparations before table-level restore
        • Perform table-level restore
        • Schema recovery in table-level restore
        • Cancel table-level restore
        • Check the progress of table-level restore
        • Check the results of table-level restore
        • Parameters related to table-level restore
        • Views related to table-level restore
      • Backup and restore performance tuning
    • Monitor
      • Overview
      • Metrics
        • System monitoring
          • Overview
          • Metrics
          • Wait events
          • Latch events
        • SQL monitoring
          • Overview
          • SQL audit
          • Execution plans
      • Cases
    • Logs
      • Overview
      • Log levels
      • Log stability
      • Log control
      • Log compression and decompression
      • Log metrics
      • Alert logs
      • View logs
        • Search for the logs of a specific SQL request
        • Query the log of a previous SQL request by using the SQL Trace feature
    • Daily inspection
      • Overview
      • Check cluster parameters
      • Check the host status
      • Check the resource usage status of a tenant
      • Check cluster resource usage
      • Check the OBServer node status
      • Check the NTP offset
      • Deadlock detection
      • End-to-end tracing
        • Overview
        • Process
        • Methods
        • Show end-to-end tracing information
        • Quick start: End-to-end diagnosis with obdiag
    • Performance tuning
      • Overview
      • Identify bottlenecks on the data link
      • Identify bottlenecks within components
        • ODP performance bottlenecks
        • ODP performance analysis
        • OBServer performance bottlenecks
          • Overview
          • Non-optimal plan
            • Non-optimal plan
            • Buffer tables
            • Cardinality
          • Hard parsing
          • Capacity issues
          • Internal wait events
      • SQL tuning
        • SQL tuning system
        • Execution plan optimization
          • Statistical information and row estimation
            • Overview
            • Statistical information
              • Overview
              • Collect statistical information
                • Overview
                • Manually collect statistics
                • Automatic statistics collection
              • Query statistics
              • Manage statistical information
                • Overview
                • Delete and set statistics
                • Import and export statistics
                • Lock statistics
                • Query historical versions of statistics and roll back to a specified version
                • Configure statistics collection strategies
            • Row estimation
              • Overview
              • Row estimation based on the selectivity
              • Row estimation based on the storage layer
            • Use statistical information and row estimation
          • Plan management
            • Plan cache
            • Disadvantages of the plan cache and countermeasures
            • Views related to the plan cache
          • Index selection
            • Overview
            • Reduce row reads
            • Avoid table access by index primary key
            • Avoid sorting
          • Join
            • Joins
            • Join algorithm
              • Nested loop joins
              • Hash Join
              • Merge join
              • Common business issues
            • Join types
            • Join order
          • Order and limit optimization
            • Overview
            • SORT assignment and optimization
            • Optimization in ORDER BY + LIMIT scenarios
        • Business logic optimization
          • SQL specifications
          • Schema specifications
        • Locate and analyze slow queries I
        • Locate and analyze slow queries II
        • Typical scenarios and cases
    • Troubleshooting
      • Overview
      • BootStrap
      • Storage
        • Minor compaction and major compaction
        • Memory-related errors
        • Migration, replication, and rebuild tasks
      • Election
        • Election
        • Forced leader election
        • No leader
      • Transaction
        • Transaction issues
        • Transaction rollbacks
        • Long-running transactions
        • Suspended transactions
        • Idle transactions
      • Log synchronization-related errors
      • Physical standby database
        • Log synchronization stuck for the physical standby database
        • Switchover and failover issues
        • Other issues
      • Backup and restore
        • Data backup failures
        • Physical restore failures
      • Arbitration server process startup failures
      • FAQ about manual operations on log streams
      • Application exceptions -- error messages without OceanBase error codes
      • Application exceptions -- error messages with OceanBase error codes
      • Troubleshoot application disconnection issues
    • Emergency response
      • Emergency response overview
      • Analysis, diagnosis, and decision-making procedure
      • Common emergency problem handling
        • Hardware issues
          • Node failure
          • Network failure
          • ODP failure
          • Other hardware and network issues
        • Capacity issues
          • SQL query exceptions
          • Node disk I/O high
          • Node network card overload
          • Tenant memory full
          • obproxy thread exhaustion
          • Node clog disk full
          • Node data disk full
          • Tenant request queue backlog
        • Other cluster issues
          • sys tenant or RootService exceptions
          • Insufficiency or leakage of system memory
  • OceanBase AP
    • AP feature version history
    • Overview of OceanBase Database AP
    • Core features of OceanBase Database AP
    • Quickly try out OceanBase AP
    • Deployment
      • Overview
      • Deploy an AP architecture
      • Parameter configuration recommendations for AP scenarios
      • Deploy and use columnstore replicas
      • AP query routing rules
    • Data table design
      • Overview of data tables
      • Data distribution
        • Dynamic partitioning
      • Best practices for data table design
        • Data table design and query optimization in AP scenarios
        • JSON multi-value index and full-text index practices
        • Table partitioning design practices for OLAP scenarios
        • Configure Skip Index in conjunction with table update mode
    • Data collection
      • Import data
        • Overview
        • Direct load
          • Overview
          • Incremental direct load
        • Import data to an external table
        • Strategies and best practices
    • Data processing
      • Data processing in OceanBase Database
      • Data processing tools
      • Materialized views query acceleration
        • Query acceleration using materialized views
        • Practice scenarios of materialized views
    • Data lake
      • Data catalog
        • Overview of data catalogs
        • HMS Catalog
      • External table
        • External tables
    • Query acceleration
      • Overview
      • Statistics
      • Query acceleration using materialized views
      • Select a query parallelism level
    • Export data
    • Data visualization
    • Performance diagnosis and tuning
      • Use the DBMS_XPLAN package for performance diagnostics
      • Use the GV$SQL_PLAN_MONITOR view for performance analysis
      • Views related to AP performance analysis
    • Ecosystem integration
    • Tutorials
      • Recommended practical tutorials for analytical processing
    • AP FAQ
  • OceanBase AI
    • Overview
      • Overview of vector search
      • Core features of vector search
      • AI application workflow with OceanBase Vector Search
    • Quick start
      • Use SQL to perform vector search
      • Perform a vector search by using Python
    • Vector embedding
    • Store vector data
    • Vector index
      • Overview
      • Vector index memory management
      • Dense vector index
        • Choose an index type
        • HNSW index
        • IVF series indexes
      • Semantic index
      • Sparse vector index
        • In-Memory Sparse Index
      • Monitor and maintain vector indexes
    • Use SQL functions
    • Vector similarity search
    • Hybrid search
      • Hybrid search (SQL interface)
      • Hybrid search (PL interface)
    • AI function service
      • Overview
      • Get started with AI Function Service
      • AI function service privileges
      • Register AI models
      • Syntax and examples of AI Function Service
    • Migrate to OceanBase Database from a vector database
    • Practical tutorial
      • Overview
    • Benchmark testing with VectorDBBench
    • Vector search references
      • Overview of vector data types
      • Search index
      • Compatibility
      • Supported clients and languages
        • Java SDK interface
    • FAQ
  • Shared storage
    • Shared storage overview
    • Shared storage architecture
    • Multi-level caching in shared storage
    • Shared storage disaster recovery deployment
    • Hotspot cache (MySQL-compatible mode)
      • Overview
      • Create a table-level hot and cold storage strategy
      • Create a partition-level storage cache policy
      • Modify the cold and hot storage policy at the table level
      • Modify the partition-level hot and cold storage strategy
      • Manage the custom hot and cold storage strategy
      • Create a macro-block-level hot and cold storage strategy
    • Shared storage-related views overview
    • Overview of shared storage configuration items and system variables
  • Integrations
    • Overview
    • ORM frameworks
      • Java
        • Connect to OceanBase Database by using Spring Boot
        • Connect to OceanBase Database by using Spring Batch
        • Connect to OceanBase Database by using Spring Data JDBC
        • Connect to OceanBase Database by using Spring Data JPA
        • Connect to OceanBase Database by using Hibernate
        • Sample program that uses MyBatis to connect to OceanBase Database
      • Python
        • Connect to OceanBase Database by using SQLAlchemy
        • Connect to OceanBase Database by using peewee
      • Go
        • Connect to OceanBase Database by using GORM
      • Ruby
        • Connect to OceanBase Database by using Active Record
        • Sequel
    • Database version management
      • Liquibase
    • Data integration
      • dbt
      • SeaTunnel
      • Maxwell
      • Debezium
    • SQL development
      • DBeaver
      • Navicat
      • DataGrip
      • TablePlus
    • Orchestration and scheduling
      • DolphinScheduler
      • Linkis
    • Visualization tools
      • Superset
      • Power BI
      • Quick BI
      • Tableau
    • Database management
      • NineData
      • Bytebase
    • AI
      • OpenAI
      • Qwen
      • LangChain
      • LlamaIndex
      • Dify
  • Tutorials
    • Build an image search application with OceanBase Database
    • Build an intelligent Q&A assistant with OceanBase Database
    • Build a real-time data warehouse and visual dashboard with OceanBase
    • Analyze data in OceanBase Database using Superset
    • Build a WordPress website with OceanBase Database
    • Use direct load to accelerate massive data import
  • Reference
    • OceanBase concepts
      • OceanBase Database architecture
      • Development of OceanBase Database
      • Multi-tenant architecture
        • Overview
        • Compatibility modes
        • Tenants
        • Tenants and resource management
          • Resource management for tenants
          • Multi-tenant resource isolation
          • Resource unit balancing
      • Database objects
        • Oracle-compatible mode
          • Introduction
            • Overview
            • Database object types
            • Database object storage
            • Dependencies between database objects
          • Tables
            • Overview
            • Data type
              • Overview
              • Character data types
              • Numeric data types
              • Datetime data types
              • ROWID data types
              • LOB data types
              • Format model
                • Overview
                • Number format models
                • Datetime format models
              • Multi-model data types
            • Integrity constraints
            • Table storage
            • Table compression
            • Partitioned table
            • Replicated table
            • Tables with and without a primary key
            • Temporary table
            • Table groups
          • Indexes
            • Overview of indexes
            • Local and global indexes
            • Unique and non-unique indexes
            • Use indexes
            • Index storage
          • Partitions
            • Overview
            • Partitioning keys
            • Partitioning types
            • Partitioned indexes
            • External table partitions
          • Views
            • Views in a database
            • Standard views
              • Standard views
              • Overview
              • OceanBase-specific views
              • Oracle-compatible views
              • View operations and data access
          • Other objects
            • Sequences
            • Synonyms
          • System views
            • Dictionary views
            • Performance views
          • Data integrity
            • Overview
            • Integrity constraint type
              • Overview
              • NOT NULL constraints
              • UNIQUE KEY constraints
              • PRIMARY KEY constraints
              • FOREIGN KEY constraints
              • CHECK constraints
            • Use of integrity constraints
        • MySQL-compatible mode
          • Introduction
            • Overview
            • Database object types
            • Database object storage
            • Dependencies between database objects
          • Tables
            • Overview
            • Data type
              • Overview
              • Numeric data types
              • Datetime data types
              • Character data types
              • LOB data types
              • Multi-model data types
              • Spatial data types
              • JSON data types
            • Integrity constraints
            • Table storage
            • Table compression
            • Partitioned table
            • Replicated table
            • Tables with and without a primary key
            • Table groups
          • Indexes
            • Overview
            • Local and global indexes
            • Unique and non-unique indexes
            • Spatial indexes
            • Full-text index
            • Vector index
            • Search index
            • Use indexes
            • Index storage
          • Partitions
            • Overview
            • Partitioning keys
            • Partitioning types
            • Partitioned indexes
            • External table partitions
          • Views
            • Views in a database
            • Standard views
              • Overview
              • Overview
              • OceanBase-specific views
              • MySQL-compatible views
              • Oracle-compatible views in MySQL tenants
              • Oracle-compatible views in the sys tenant
              • View operations and data access
          • System views
            • Dictionary views
            • Performance views
          • Data integrity
            • Overview
            • Integrity constraint type
              • Overview
              • NOT NULL constraints
              • UNIQUE KEY constraints
              • PRIMARY KEY constraints
              • Foreign key constraints
            • Use of integrity constraints
      • Distributed database objects
        • Overview
        • Cluster architecture
        • Data partitions and replicas
          • Overview
          • Log streams
          • Partition replica type
            • Overview
            • Full-featured replica
            • Read-only replicas
            • Columnstore replica
          • Multi-replica consensus protocols
          • Data balancing
            • Tenant-level load balancing
            • Views and parameters related to data balancing
        • Dynamic scaling
          • Tenant resource scaling
            • Overview
            • Scale out or scale in tenant resources
            • Vertical scaling of tenant resources
            • Cross-zone management of tenant resources
      • Data link
        • Overview
        • Database proxy
          • Overview
          • SQL routing
          • Connection management
          • ODP configuration management
          • Logs and monitoring
        • Database connector
          • Overview
          • OBCI
          • OceanBase Connector/J
          • OceanBase Connector/C
        • Cross-data source access through DBLink
          • DBLink in MySQL mode
          • DBLink in Oracle mode
      • User interface and query language
        • SQL
          • Introduction
            • Overview
            • SQL data access
            • SQL standards
          • SQL statements
            • Overview
            • DDL statements
            • Monitor DDL execution progress
            • DML statements
            • DCL
          • Execution process of SQL queries
          • Query SQL execution plans
          • Distributed execution plan
            • Perform distributed execution and parallel queries
            • Generate distributed execution plans
            • Run and disable a parallel query
            • Manage distributed execution plans
            • Tune parameters for parallel queries
        • PL
          • PL concepts
            • Oracle-compatible mode
              • Subprograms
              • Stored procedures
              • Functions
              • Triggers
              • Packages
            • MySQL-compatible mode
              • Subprograms
              • Stored procedures
              • Functions
              • Triggers
          • PL subprogram execution mechanism
        • Client programming languages
      • Transaction management
        • Transaction
          • Overview
          • Transaction structure
          • Statement-level atomicity
          • GTS
          • Transaction control
            • Overview
            • Active transactions
            • Savepoint
            • Transaction control statements
              • MySQL transaction control
              • Oracle transaction control
          • Redo logs
          • Local transactions
          • Distributed transaction
            • Overview
            • Two-phase commit
          • XA transactions
        • Transaction concurrency and consistency
          • Overview
          • Multi-version read consistency
          • Concurrency control
            • Overview
            • Lock mechanism
            • Lock wait manager
          • Transaction isolation level
            • Overview
            • Transaction isolation levels in Oracle mode
            • Transaction isolation levels in MySQL mode
          • Weak-consistency read
      • Storage architecture
        • Overview
        • Data storage
          • Overview
          • MemTables
          • SSTables
          • Columnar storage
          • Compression and encoding
        • Compaction
          • Overview
          • Compaction
          • Major compaction
        • Multi-level caching in shared-nothing architecture
        • Multi-level caching in shared storage
        • Query processing
        • Data integrity
          • Detect silent data corruption
      • Data reliability and high availability
        • High availability architecture
          • Overview
          • ODP high availability
          • Leader election in distributed systems
          • Multi-replica log synchronization
          • Paxos protocol
          • Automatic handling of node failures
        • Deployment solutions for disaster recovery
        • Data protection
          • Overview
          • Flashback queries
          • Recycle bin
        • Backup and restore
          • Overview
          • Backup directory structure
          • Backup architecture
          • Restore process
        • Arbitration-based high availability solution
        • Physical Standby Database solution
      • Database security
        • Overview
        • Authentication
        • Access control
        • Data transmission encryption
        • Data storage encryption
        • Monitoring and alerting
        • Security audit
      • OBServer node architecture
        • Structure of the OBServer node installation directory
        • Configuration file
        • observer thread model
          • Threads
          • Worker threads
          • Background threads
        • Logs
        • Memory management
          • Overview
          • Memory-related parameters
          • Memory-related views
          • Memory usage logs
          • Diagnose memory errors
    • System management
      • Configuration management
        • Overview
        • Set parameters
        • Set variables
      • Storage management
        • Minor compaction management
          • Overview
          • Automatically trigger a minor compaction
          • Manually initiate a minor compaction
          • View minor compaction information
          • Modify minor compaction parameters
        • Major compaction management
          • Overview
          • Automatically trigger a major compaction
          • Trigger daily tenant compaction
          • Window compaction
          • Adaptive major compactions
          • Manually trigger a major compaction
          • Manually control a major compaction
          • View the information about major compactions
          • Modify major compaction settings
        • Data compression
          • Overview
          • Data encoding and compression
        • Use the TTL feature
      • Memory management
        • Overview
        • Memory structure
        • Set the maximum memory for an OceanBase database
        • Manage internal system memory
        • Memory management in a tenant
        • Manage the memory of the plan cache
        • Memleak-based regular memory leak diagnostics mechanism
        • Query memory usage information
        • FAQ about memory
      • Process management
        • Overview
        • Multi-tenant threads of OceanBase Database
        • View the thread status
        • Background threads of OceanBase Database
        • FAQ about multi-tenant threads
      • Disk management
        • Configure dynamic expansion of disk data files
        • View the disk space used by a tenant or table
    • Database object management
      • Overview
      • MySQL-compatible mode
        • Create and manage databases
          • Create a database
          • View databases
          • Modify a database
          • Drop a database
        • Create and manage tables
          • Overview
          • Create a table
          • Skip index attribute
          • Define an auto-increment column
          • Define column constraints
          • Query tables
          • Modify a table
          • Change the attribute of a table
          • Empty a table
          • Drop a table
          • Lock a table
          • Create and manage external tables
            • About external tables
            • Create an external table
            • Add partitions for an external table
            • Manage external files
            • Data type mapping
        • Create and manage partitions
          • Overview
          • Create a partitioned table
          • Partition splitting
            • Overview
            • Manual partition splitting
            • Automatic partition splitting
          • Dynamic partitioning
            • Overview of dynamic partitioning
            • Create a dynamic partitioned table
            • Query a dynamic partitioned table
            • Modify a dynamic partitioned table
            • Dynamic partition management tasks
          • Modify partitioning rules
          • Add a partition
          • Delete a partition
          • Truncate partitions
          • Partition pruning
          • Query data in specified partitions
          • Create indexes on partitioned tables
            • Overview
            • Local indexes
            • Global indexes
          • Partition exchange
        • Create and manage table groups
          • Overview
          • Create a table group
          • Query information about a table group
          • Add tables to a table group
          • Modify the SHARDING attribute of a table group
          • Manage tables in a table group
          • Drop a table group
        • Create and manage indexes
          • Overview
          • Create an index
          • Query indexes
          • Monitor indexes
          • Drop an index
          • System functions supported for function-based indexes
          • System functions not supported for function-based indexes
        • Manage views
          • Manage standard views
          • Manage materialized views
            • Overview of materialized views
            • Materialized view logs
            • Automatic management of materialized view logs
            • Create a materialized view
            • Refresh a materialized view
            • Rewrite queries based on materialized views
            • Query materialized views
            • Modify the attributes of a materialized view
            • Drop a materialized view
        • Create and manage sequences
          • Create a sequence
          • Query sequences
          • Reference a sequence
          • Modify a sequence
          • Drop a sequence
        • Create and manage triggers
          • Overview
          • Create a DML trigger
          • Query trigger information
          • Drop a trigger
        • Create and manage DBLinks
          • Create a DBLink
          • Query existing DBLinks
          • Manage DBLinks
          • Use a DBLink to access data in a remote database
          • Drop a DBLink
        • Create and manage catalogs
          • Create a catalog
          • View a catalog
      • Oracle-compatible mode
        • Create and manage tables
          • Overview
          • Create a table
          • Skip index attribute
          • Define column constraints
          • Query the definition of a table
          • Modify a table
          • Change the attribute of a table
          • Empty a table
          • Drop a table
          • Lock a table
          • Create and manage external tables
            • Overview
            • Create an external table
            • Add partitions for an external table
            • Manage external files
            • Data type mapping
        • Create and manage partitions
          • Overview
          • Create a partitioned table
          • Partition splitting
            • Overview
            • Manual partition splitting
            • Automatic subpartition splitting
          • Dynamic partitioning
            • Overview of dynamic partitioning
            • Create a dynamic partitioned table
            • Query a dynamic partitioned table
            • Modify a dynamic partitioned table
            • Dynamic partition management tasks
          • Modify partitioning rules
          • Rename a partition
          • Add a partition
          • Drop partitions
          • Truncate a partition
          • Partition pruning
          • Query data in specified partitions
          • Create indexes on partitioned tables
            • Overview
            • Local indexes
            • Global indexes
          • Partition exchange
        • Create and manage table groups
          • Overview
          • Create a table group
          • Query information about a table group
          • Add tables to a table group
          • Modify the SHARDING attribute of a table group
          • Manage tables in a table group
          • Drop a table group
        • Create and manage indexes
          • Overview
          • Create an index
          • Query indexes
          • Monitor indexes
          • Drop an index
          • System functions supported for function-based indexes
          • System functions not supported for function-based indexes
        • Manage views
          • Manage standard views
          • Manage materialized views
            • Overview
            • Materialized view logs
            • Automatic management of materialized view logs
            • Create a materialized view
            • Refresh materialized views
            • Rewrite queries based on materialized views
            • Query materialized views
            • Modify the attributes of a materialized view
            • Drop a materialized view
        • Manage sequences
        • Manage synonyms
        • Create and manage triggers
          • Overview
          • Create a DML trigger
          • Create an INSTEAD OF trigger
          • Create a composite trigger
          • Modify and drop a trigger
          • Disable or enable a trigger
          • Query trigger information
        • Manage directory objects
        • Create and manage DBLinks
          • Create a DBLink
          • Query existing DBLinks
          • Manage DBLinks
          • Use a DBLink to access data in a remote database
          • Use a DBLink to modify the data in a remote database
          • Drop a DBLink
          • Install and configure OCI
    • Database design specifications and practices
      • Object naming conventions
        • Overview
        • Tenant naming conventions
        • User naming conventions
        • Table naming conventions
        • Field naming conventions
        • Other naming conventions
      • Object structure design specifications
        • Field design
        • Table structure design
        • Partitioned table design
        • Index design
        • Other structural designs
      • Character set specifications
      • Database connection specifications
      • Comments
      • ORM conventions
      • Exception handling
    • SQL reference
      • SQL overview
      • SQL syntax
        • System tenants
          • Overview of management commands
          • ALTER SYSTEM
            • ACTIVATE STANDBY
            • ADD REPLICA
            • ADD RESTORE SOURCE
            • ARCHIVELOG
            • ARBITRATION
            • BOOTSTRAP
            • BACKUP KEY
            • BACKUP
            • BACKUP CLUSTER PARAMETERS
            • BALANCE TASK
            • BALANCE JOB
            • CANCEL BACKUP
            • CANCEL CLONE
            • CANCEL DELETE BACKUP
            • CANCEL MIGRATE UNIT
            • CANCEL REPLICA TASK
            • CANCEL RESTORE
            • CANCEL RECOVER TABLE
            • CANCEL TRANSFER PARTITION
            • CANCEL VALIDATE
            • CLEAR RESTORE SOURCE
            • CREATE LS
            • DELETE BACKUP ALL
            • DELETE BACKUPSET/ARCHIVELOG_PIECE
            • DELETE OBSOLETE BACKUP
            • LOAD MODULE DATA
            • MAJOR and MINOR
            • MIGRATE REPLICA
            • MIGRATE UNIT
            • MODIFY LS
            • MODIFY PAXOS_REPLICA_NUM
            • MODIFY REPLICA
            • NOARCHIVELOG
            • FLUSH PLAN CACHE
            • FLUSH SEQUENCE CACHE
            • FLUSH SS_LOCAL_CACHE
            • FLUSH ss_micro_cache
            • FLASHBACK STANDBY LOG
            • JOB
            • SET LOG_RESTORE_SOURCE
            • PARAMETER
            • RECOVER STANDBY
            • RECOVER STANDBY CANCEL
            • REMOVE REPLICA
            • REFRESH
            • RESTORE
            • RESTORE PREVIEW
            • RECOVER TABLE
            • SET DATA_BACKUP_DEST
            • SERVER
            • SERVICE_NAME
            • SWITCHOVER
            • SET LOG_ARCHIVE_DEST
            • SET LOG_ARCHIVE_DEST_STATE
            • THROTTLE
            • TRANSFER PARTITION
            • TTL
            • VALIDATE
            • WASH MEMORY FRAGMENTATION
            • ZONE
          • ALTER RESOURCE POOL
          • ALTER RESOURCE TENANT
          • ALTER RESOURCE UNIT
          • ALTER TENANT
          • CREATE RESOURCE POOL
          • CREATE RESOURCE UNIT
          • CREATE TENANT
          • CREATE STANDBY TENANT
          • DROP RESOURCE POOL
          • DROP RESOURCE UNIT
          • DROP TENANT
          • SET DECRYPTION
          • SET ENCRYPTION
          • SHOW RESTORE PREVIEW
        • User tenants (MySQL-compatible mode)
          • Basic elements
            • Data types
              • Data types
              • Numeric types
                • Overview of numeric types
                • Integer types
                • Fixed-point types
                • Floating-point types
                • BIT Value
              • Datetime types
                • Overview of datetime types
                • DATE, DATETIME, and TIMESTAMP types
                • TIME type
                • YEAR type
              • String types
                • Overview of string types
                • CHAR and VARCHAR
                • BINARY and VARBINARY
              • Large objects and text types
                • Overview of large objects and text types
                • BLOB type
                • TEXT types
                • STRING type
                • LOB types
              • ENUM type
              • Set types
              • JSON data types
                • Overview of JSON data types
                • Create a JSON value
                • Query and modify JSON values
                • Convert data types to JSON
                • Update JSON data
                • Semi-structured encoding
              • Spatial data types
                • Overview of spatial data types
                • Spatial reference systems (SRS)
                • Create spatial columns
                • Create spatial indexes
                • Spatial data formats
              • Roaring bitmap types
                • Overview of the RoaringBitmap data type
                • Create a roaring bitmap column
              • Array data types
                • Overview of array element types
                • Create an array column
              • Map data types
                • Overview of mapping data types
                • Create a mapped column
            • Expressions
              • Overview of expressions
              • Expression syntax
              • Data type conversion rules
            • Character set and collation
              • Overview
              • Character Sets
              • Character sets
              • Database-level character set and collation
              • Table-level character set and collation
              • Column-level character sets and collations
              • Character set and collation of character expressions
              • Character set and collation for client connections
            • Literals
              • Literals
              • String literals
              • Numeric values
              • Date and time values
              • Bit values
              • Boolean values
              • NULL values
            • Schema object names
            • Annotations
              • Hints
                • Overview
                • Use Query Block Name and QB_NAME Hint to control query optimization
                • Hint list
                  • Global hints
                    • Optimizer Stats Hint under the Global Hint Type
                    • Transform Hint in the Global Hints section
                    • Other hints under the global hint type
                  • Optimizer hints
                    • Access path hints in the Optimized Hint category
                    • Join order hints in the Optimized Hint category
                    • Join operation hints in the Optimized Hint category
                    • Subquery hints under the Optimized Hint category
                    • Group By Hint in the Optimized Hint category
                    • Distinct hint
                    • Set Hint in Optimized Hint Type
                    • Distributed DML hints in the Optimized Hint category
                    • Vector Index Hint in the Optimized Hint category
                  • Transform hints
                    • Stmt Transform Hint
                    • Cost-based transform hints
                    • Heuristics transform hints
                    • Other hints under the Transform Hint type
                  • Outline-related hints
            • User-defined variables
            • Comments
          • Operators
            • Overview
            • Operator precedence
            • Arithmetic operators
            • Bitwise operators
            • Comparison operators
            • Logical operators
            • Assignment operator
            • Date and time operators
            • Character concatenation operators
            • BINARY conversion operators
            • CASE conditional operator
          • Functions
            • Function overview
            • Single-row functions
              • Datetime functions
                • ADDDATE
                • CONVERT_TZ
                • CURDATE
                • CURRENT_DATE
                • CURRENT_TIME
                • CURRENT_TIMESTAMP
                • CURTIME
                • DATE
                • DATE_ADD
                • DATE_FORMAT
                • DATE_SUB
                • DATEDIFF
                • DAYOFMONTH
                • DAYOFWEEK
                • DAYOFYEAR
                • EXTRACT
                • FROM_DAYS
                • FROM_UNIXTIME
                • GET_FORMAT
                • HOUR
                • LAST_DAY
                • LOCALTIME
                • LOCALTIMESTAMP
                • MAKEDATE
                • MAKETIME
                • MICROSECOND
                • MINUTE
                • MONTH
                • MONTHNAME
                • NOW
                • PERIOD_ADD
                • PERIOD_DIFF
                • QUARTER
                • SEC_TO_TIME
                • SECOND
                • STR_TO_DATE
                • SUBDATE
                • SUBTIME
                • SYSDATE
                • TIME
                • TIME_FORMAT
                • TIME_TO_SEC
                • TIME_TO_USEC
                • TIMEDIFF
                • TIMESTAMP
                • TIMESTAMPADD
                • TIMESTAMPDIFF
                • TO_DAYS
                • TO_SECONDS
                • UNIX_TIMESTAMP
                • USEC_TO_TIME
                • UTC_DATE
                • UTC_TIME
                • UTC_TIMESTAMP
                • WEEK
                • WEEKDAY
                • WEEKOFYEAR
                • YEARWEEK
                • YEAR
                • ADDTIME
                • DAYNAME
                • DAY
                • DATE_TRUNC
                • MONTHS_ADD
                • FORMATDATETIME
                • TOUNIXTIMESTAMP
              • String functions
                • ASCII
                • BIN
                • BIT_LENGTH
                • CHAR
                • CHAR_LENGTH
                • CHARACTER_LENGTH
                • CONCAT
                • CONCAT_WS
                • ELT
                • EXPORT_SET
                • FIELD
                • FIND_IN_SET
                • FORMAT
                • HEX
                • INSERT
                • INSTR
                • INT2IP
                • IP2INT
                • KEYVALUE
                • LCASE
                • LEFT
                • LENGTH
                • LOCATE
                • LOWER
                • LPAD
                • LTRIM
                • MAKE_SET
                • MAX_PT
                • MD5_CONCAT_WS
                • MID
                • OCT
                • OCTET_LENGTH
                • ORD
                • POSITION
                • QUOTE
                • REGEXP
                • REGEXP_INSTR
                • REGEXP_LIKE
                • REGEXP_REPLACE
                • REGEXP_SUBSTR
                • REPEAT
                • REPLACE
                • REVERSE
                • RIGHT
                • RLIKE
                • RPAD
                • RTRIM
                • SPACE
                • SPLIT_PART
                • STRCMP
                • SUBSTR
                • SUBSTRING
                • SUBSTRING_INDEX
                • TRIM
                • UCASE
                • UNHEX
                • UPPER
                • URL_DECODE
                • URL_ENCODE
                • WEIGHT_STRING
                • TO_BASE64
                • FROM_BASE64
                • SOUNDEX
                • EDITDISTANCE
              • Conversion functions
                • CAST
                • CONVERT
                • DECODE_TRACE_ID
                • SCN_TO_TIMESTAMP
                • TIMESTAMP_TO_SCN
                • TO_CHAR(character)
                • TO_CHAR(number)
                • TO_CHAR(datetime)
                • TO_DATE
              • Mathematical functions
                • ABS
                • ACOS
                • ASIN
                • ATAN
                • ATAN2
                • BIT_COUNT
                • CEIL
                • CEILING
                • CONV
                • COS
                • COT
                • CRC32
                • DEGREES
                • EXP
                • FLOOR
                • GENERATOR
                • LN
                • LOG
                • LOG10
                • LOG2
                • MOD
                • NEG
                • NORMAL
                • PI
                • POW
                • POWER
                • RADIANS
                • RAND
                • RANDOM
                • RANDSTR
                • ROUND
                • SIGN
                • SIN
                • SQRT
                • TAN
                • TRUNCATE
                • UNIFORM
                • ZIPF
              • Comparison functions
                • GREATEST
                • INTERVAL
                • ISNULL
                • LEAST
              • Process control functions
                • CASE
                • IF
                • IFNULL
                • NULLIF
                • ORA_DECODE
            • Aggregate functions
              • APPROX_COUNT_DISTINCT
              • AVG
              • ARG_MAX
              • ARG_MIN
              • BIT_AND
              • BIT_OR
              • BIT_XOR
              • COUNT
              • GROUP_CONCAT
              • GROUPING
              • MAX
              • MIN
              • STD
              • STDDEV
              • STDDEV_POP
              • STDDEV_SAMP
              • SUM
              • VAR_POP
              • VAR_SAMP
              • VARIANCE
              • ARBITRARY
              • ANY
              • GROUPCONCAT
              • STDDEVSAMP
              • UNIQ
              • VARSAMP
            • Analysis functions
              • APPROX_COUNT_DISTINCT
              • AVG
              • BIT_AND
              • BIT_OR
              • BIT_XOR
              • COUNT
              • CUME_DIST
              • DENSE_RANK
              • FIRST_VALUE
              • LAG
              • LAST_VALUE
              • LEAD
              • MAX
              • MIN
              • NTH_VALUE
              • NTILE
              • PERCENT_RANK
              • PERCENTILE_CONT
              • RANK
              • ROW_NUMBER
              • STD
              • STDDEV
              • STDDEV_POP
              • STDDEV_SAMP
              • SUM
              • VAR_POP
              • VAR_SAMP
              • VARIANCE
              • LAGINFRAME
              • LEADINFRAME
            • Encryption functions
              • AES_DECRYPT
              • AES_ENCRYPT
              • COMPRESS
              • DECODE
              • DES_DECRYPT
              • DES_ENCRYPT
              • ENCODE
              • ENCRYPT
              • ENHANCED_AES_ENCRYPT
              • ENHANCED_AES_DECRYPT
              • MD5
              • PASSWORD
              • UNCOMPRESS
              • UNCOMPRESSED_LENGTH
              • RANDOM_BYTES
              • SHA
              • SHA1
              • SHA2
              • VALIDATE_PASSWORD_STRENGTH
              • SM3
              • SM4_ENCRYPT
              • SM4_DECRYPT
            • Information functions
              • BENCHMARK
              • CHARSET
              • COERCIBILITY
              • COLLATION
              • CONNECTION_ID
              • CURRENT_ROLE
              • CURRENT_USER
              • DATABASE
              • FOUND_ROWS
              • LAST_INSERT_ID
              • LAST_INSERT_ID Behavior Description
              • ICU_VERSION
              • OB_TRANSACTION_ID
              • ROW_COUNT
              • SCHEMA
              • SESSION_USER
              • SYSTEM_USER
              • USER
              • VERSION
              • OB_VERSION
            • JSON functions
              • JSON functions
              • Functions for creating JSON text
                • JSON_ARRAY
                • JSON_OBJECT
                • JSON_QUOTE
              • Functions for searching JSON text
                • JSON_CONTAINS
                • JSON_CONTAINS_PATH
                • JSON_EXTRACT
                • JSON_KEYS
                • JSON_OVERLAPS
                • JSON_SEARCH
                • JSON_VALUE
                • MEMBER OF
              • Functions for modifying JSON text
                • JSON_ARRAY_APPEND
                • JSON_APPEND
                • JSON_ARRAY_INSERT
                • JSON_INSERT
                • JSON_MERGE
                • JSON_MERGE_PATCH
                • JSON_MERGE_PRESERVE
                • JSON_REMOVE
                • JSON_REPLACE
                • JSON_SET
                • JSON_UNQUOTE
              • Functions for returning JSON text properties
                • JSON_DEPTH
                • JSON_LENGTH
                • JSON_TYPE
                • JSON_VALID
              • JSON_TABLE function
              • JSON utility functions
                • JSON_PRETTY
                • JSON_STORAGE_SIZE
              • JSON aggregate functions
                • JSON_ARRAYAGG
                • JSON_OBJECTAGG
              • JSON schema validation functions
                • JSON_SCHEMA_VALID
                • JSON_SCHEMA_VALIDATION_REPORT
            • XML functions
              • Overview of XML functions
              • Functions for querying XML data
                • EXTRACTVALUE
              • Functions for modifying XML data
                • UPDATEXML
            • 760.table-functions-of-mysql-mode
              • Overview of TABLE FUNCTIONS
              • FILES table function
            • Spatial functions
              • Overview of spatial functions
              • Create a geometry value function
              • Spatial operation functions
              • Spatial relationship functions
              • Geometry attribute functions
              • Geometry format conversion functions
              • Spatial analysis functions
              • Spatial constructor functions
              • Spatial accessor functions
              • Spatial format conversion functions
              • Spatial processing functions
              • _ST_GeoHash
            • Performance schema functions
              • FORMAT_BYTES
              • FORMAT_PICO_TIME
            • Lock functions
              • Overview of lock functions
              • GET_LOCK
              • IS_FREE_LOCK
              • IS_USED_LOCK
              • RELEASE_ALL_LOCKS()
              • RELEASE_LOCK
            • Bitmap functions
              • Overview
              • RoaringBitmap constructor
              • Bitmap cardinality calculation functions
              • Bitmap operation functions
              • Bitmap decision functions
              • Bitmap output functions
              • Bitmap aggregate functions
            • Array functions
              • Overview of array functions
              • Array constructor functions
              • Array decision functions
              • Array output functions
              • Array functions
            • Text processing functions
              • TOKENIZE
            • Audit functions
              • Overview
              • AUDIT_LOG_FILTER_REMOVE_FILTER
              • AUDIT_LOG_FILTER_REMOVE_USER
              • AUDIT_LOG_FILTER_SET_FILTER
              • AUDIT_LOG_FILTER_SET_USER
            • Map functions
              • Overview of mapping functions
              • Map constructors and operators
              • Map decision functions
              • Map operation functions
            • Other functions
              • ANY_VALUE
              • BIN_TO_UUID
              • COALESCE
              • DEFAULT
              • NAME_CONST
              • INET_ATON
              • INET_NTOA
              • INET6_ATON
              • INET6_NTOA
              • IS_IPV4
              • IS_IPV4_COMPAT
              • IS_IPV6
              • IS_UUID
              • MATCH AGAINST
              • NVL
              • UUID_TO_BIN
              • SLEEP
              • UUID
              • UUID_SHORT
              • VALUES
              • ISNAN
          • Queries and subqueries
            • Overview
            • Subqueries
            • Join
            • Full-text search
          • SQL statements
            • General syntax
            • Common table expressions
            • ALTER COMPILE
            • ALTER DATABASE
            • ALTER LOCATION
            • ALTER MATERIALIZED VIEW
            • ALTER MATERIALIZED VIEW LOG
            • ALTER EXTERNAL TABLE
            • ALTER OUTLINE
            • ALTER SENSITIVE RULE
            • ALTER SEQUENCE
            • ALTER/CHANGE/MODIFY EXTERNAL_STORAGE_DEST
            • ALTER SYSTEM FLUSH SEQUENCE CACHE
            • MAJOR and MINOR
            • STORAGE_CACHE_POLICY_EXECUTOR
            • VALIDATE
            • ALTER TABLE
            • ALTER TABLEGROUP
            • ALTER TABLESPACE
            • ALTER USER
            • ALTER VIEW
            • ALTER INSTANCE ROTATE INNODB MASTER KEY
            • ALTER EVENT
            • ANALYZE
            • CACHE INDEX
            • CREATE CONCURRENT_LIMITING_RULE
            • CREATE DATABASE LINK
            • CREATE DATABASE
            • CREATE EXTERNAL CATALOG
            • CREATE EXTERNAL TABLE
            • CREATE INDEX
            • CREATE LOCATION
            • CREATE MATERIALIZED VIEW
            • CREATE MATERIALIZED VIEW LOG
            • CREATE OUTLINE
            • CREATE FORMAT OUTLINE
            • CREATE RESTORE POINT
            • CREATE ROLE
            • CREATE SENSITIVE RULE
            • CREATE SEQUENCE
            • CREATE TABLE
            • CREATE TABLEGROUP
            • CREATE TABLESPACE
            • CREATE USER
            • CREATE VIEW
            • CHECKSUM TABLE
            • CREATE EVENT
            • DEALLOCATE PREPARE
            • DROP DATABASE LINK
            • DELETE
            • DESCRIBE
            • DROP CATALOG
            • DROP CONCURRENT_LIMITING_RULE
            • DROP DATABASE
            • DROP EVENT
            • DROP INDEX
            • DROP LOCATION
            • DROP MATERIALIZED VIEW
            • DROP MATERIALIZED VIEW LOG
            • DROP OUTLINE
            • DROP ROLE
            • DROP SENSITIVE RULE
            • DROP TABLE
            • DROP TABLEGROUP
            • DROP TABLESPACE
            • DROP SEQUENCE
            • DROP USER
            • DROP VIEW
            • DROP RESTORE POINT
            • EXECUTE
            • EXPLAIN
            • FLASHBACK
            • FLUSH TABLE
            • GRANT
            • HELP
            • INSERT
            • KILL
            • LOAD DATA
            • LOAD_FILE
            • LOAD INDEX INTO CACHE
            • LOCK TABLES
            • OPTIMIZE
            • PREPARE
            • PURGE
            • PURGE RECYCLEBIN
            • RENAME USER
            • RENAME TABLE
            • REPLACE
            • REPAIR TABLE
            • REMOVE
            • REVOKE
            • SAVEPOINT
            • SCHEMA
            • SELECT INTO
            • SELECT
              • SELECT
              • JOIN clause
              • WINDOW clause
              • UNION clause
              • HYBRID_SEARCH
            • SET DEFAULT ROLE
            • SET
            • SET CATALOG
            • SET CHARSET
            • SET NAMES
            • SET PASSWORD
            • SET ROLE
            • SET TRANSACTION
            • SHOW
            • SUBMIT JOB
            • SHOW JOB STATUS
            • CANCEL JOB
            • TRANSACTION
            • TRUNCATE TABLE
            • UNLOCK TABLES
            • UPDATE
            • USE
            • VALUES
            • XA transaction
          • DDL feature
            • Overview of DDL operations
            • Online DDL and offline DDL operations
            • Index operations
            • Primary key operations
            • Column operations
            • Generated column operations
            • Foreign key operations
            • Table operations
            • Partition operations
            • Column type change rules
            • NUMBER type conversion rules
          • Pseudo columns
            • Overview
            • PARTITIONID pseudo column
        • User tenants (Oracle-compatible mode)
          • Pseudo columns
            • Overview
            • Hierarchical query pseudo-columns
            • Sequence pseudo-column
            • ORA_ROWSCN pseudo-column
            • ROWNUM pseudo-column
            • ROWID pseudo-column
            • PARTITIONID pseudo column
          • Basic elements
            • Built-in data types
              • Overview of built-in data types
              • Character data types
                • Overview of character data types
                • CHAR data type
                • NCHAR data type
                • NVARCHAR2 data type
                • VARCHAR2 data type
                • VARCHAR data type
              • Numeric data types
                • Overview of numeric data types
                • NUMBER data type
                • FLOAT data type
                • Floating-point numbers
                • Numeric type priorities
              • Datetime and interval data types
                • Overview of datetime and interval data types
                • DATE data type
                • TIMESTAMP data type
                • TIMESTAMP WITH TIME ZONE data type
                • TIMESTAMP WITH LOCAL TIME ZONE data type
                • INTERVAL YEAR TO MONTH data type
                • INTERVAL DAY TO SECOND data type
                • Calculation of DATE and INTERVAL values
              • RAW data type
              • Large object data types
                • Overview of large object data types
                • BLOB data type
                • CLOB data type
                • LOB types
              • Rowid data type
              • User-defined data types
              • Any types
              • JSON data types
                • Overview of JSON data types
                • Create a column of the JSON data type
                • Query JSON data
                • Conversion rules for JSON data type
              • XML data types
                • Overview of the XMLType data type
                • XML data definition
                • Create a column of the XMLType data type
                • Query XMLType data
                • Conversion of the XMLType data type
              • Spatial data types
                • Overview of spatial data types
                • Create spatial columns
                • Access SDO_GEOMETRY properties
                • Create spatial indexes
            • Data type comparison rules
              • Overview of data type comparison rules
              • Comparison rules of numeric values
              • Date value comparison rules
              • Character value comparison rules
              • Data type priority
              • Data type conversion rules
              • Security considerations for data conversion in Oracle mode
            • Literals
              • Literals
              • Text literals
              • Numeric literals
              • Datetime literals
                • DATE literals
                • TIMESTAMP literals
              • INTERVAL literals
            • Format model
              • Formatting models
              • Number format models
              • Datetime format model
              • RR date-time format element
              • Conversion rules from string to date
            • NULL value
              • Overview of empty values
              • Null values in SQL functions
              • NULL values in comparison conditions
              • NULL values in conditional expressions
            • Annotations
              • Overview
              • Comments on SQL statements
              • Comment on schema and nonschema objects
              • Hints
                • Overview of hints
                • Control query optimization by using Query Block Name and QB_NAME Hint
                • Hint list
                  • Global hints
                    • Optimizer Stats Hint under Global Hints
                    • Transform Hint in Global Hints
                    • Other hints under the global hint type
                  • Optimized hints
                    • Access path hints in the Optimized Hint category
                    • Join Order Hints
                    • Join operation hints in the Optimized Hint category
                    • Subquery hints under the Optimized Hint category
                    • Group By Hint in the Optimized Hint category
                    • DISTINCT hint
                    • Set Hint
                    • Distributed DML hint in the Optimized Hint category
                  • Transform hints
                    • Stmt Transform Hint in the Transform Hint Type
                    • Cost based transform hints
                    • Heuristics transform hints
                    • Other TRANSFORM Hint
                  • Outline-related hints
            • Database objects
              • Schema objects
              • Non-schema objects
            • Database naming conventions
              • Overview of database object naming conventions
              • Schema object naming recommendations
            • Database object reference methods
              • Overview of database object references
              • Reference schema objects
              • Reference objects in a remote database
                • Create a database link
                • Database links
              • Reference partitioned tables and indexes
              • Reference attributes and methods of object types
            • Character sets and collations
          • Operators
            • Overview of operators
            • Operator precedence
            • Arithmetic operators
            • Concatenation operators
            • Hierarchical query operators
            • Set operators
            • COLLATE operator
          • Functions
            • function name (parameter, parameter, ... )
            • Single-row functions
              • Numeric functions
                • ABS
                • ACOS
                • ASIN
                • ATAN
                • ATAN2
                • BITAND
                • CEIL
                • COS
                • COSH
                • EXP
                • FLOOR
                • GENERATOR
                • LN
                • LOG
                • MOD
                • NANVL
                • NORMAL
                • POWER
                • REMAINDER
                • ROUND
                • RANDOM
                • RANDSTR
                • SIGN
                • SIN
                • SINH
                • SQRT
                • TAN
                • TANH
                • TRUNC
                • UNIFORM
                • WIDTH_BUCKET
                • ZIPF
              • String functions that return a string
                • CHR
                • CONCAT
                • INITCAP
                • LOWER
                • LPAD
                • LTRIM
                • MAX_PT
                • NLS_LOWER
                • NLSSORT
                • NLS_UPPER
                • REGEXP_REPLACE
                • REGEXP_SUBSTR
                • REPLACE
                • RPAD
                • RTRIM
                • SUBSTR
                • TRANSLATE
                • TRANSLATE ... USING
                • TRIM
                • UPPER
              • String functions that return numbers
                • ASCII
                • INSTR
                • LENGTH
                • REGEXP_COUNT
                • REGEXP_INSTR
              • Datetime functions
                • ADD_MONTHS
                • CURRENT_DATE
                • CURRENT_TIMESTAMP
                • DBTIMEZONE
                • EXTRACT (datetime)
                • FROM_TZ
                • LAST_DAY
                • LOCALTIMESTAMP
                • MONTHS_BETWEEN
                • NEXT_DAY
                • NUMTODSINTERVAL
                • NUMTOYMINTERVAL
                • ROUND (date)
                • SESSIONTIMEZONE
                • SYS_EXTRACT_UTC
                • SYSDATE
                • SYSTIMESTAMP
                • TO_CHAR (datetime)
                • TO_DSINTERVAL
                • TO_TIMESTAMP
                • TO_TIMESTAMP_TZ
                • TO_YMINTERVAL
                • TRUNC (date)
                • TZ_OFFSET
              • Generic comparison functions
                • GREATEST
                • LEAST
              • Conversion functions
                • ASCIISTR
                • CAST
                • CHARTOROWID
                • CONVERT
                • HEXTORAW
                • NUMTODSINTERVAL
                • NUMTOYMINTERVAL
                • RAWTOHEX
                • ROWIDTOCHAR
                • ROWIDTONCHAR
                • SCN_TO_TIMESTAMP
                • TIMESTAMP_TO_SCN
                • TO_BINARY_DOUBLE
                • TO_BINARY_FLOAT
                • TO_BLOB
                • TO_CHAR (character)
                • TO_CHAR (datetime)
                • TO_CHAR (number)
                • TO_CLOB
                • TO_DATE
                • TO_DSINTERVAL
                • TO_MULTI_BYTE
                • TO_NUMBER
                • TO_NCHAR (character)
                • TO_NCHAR (datetime)
                • TO_NCHAR (number)
                • TO_SINGLE_BYTE
                • TO_TIMESTAMP
                • TO_TIMESTAMP_TZ
                • TO_YMINTERVAL
                • UNISTR
              • Encoding and decoding functions
                • DECODE
                • DUMP
                • ORA_HASH
                • VSIZE
              • Null value related functions
                • COALESCE
                • LNNVL
                • NANVL
                • NULLIF
                • NVL
                • NVL2
              • Environment and identifier functions
                • SYS_CONTEXT
                • SYS_GUID
                • UID
                • USER
                • USERENV
                • OB_VERSION
              • Hierarchical functions
                • SYS_CONNECT_BY_PATH
              • JSON functions
                • JSON functions
                • Create JSON text functions
                  • JSON_ARRAY
                  • JSON_OBJECT
                  • JSON_ARRAYAGG
                  • JSON_OBJECTAGG
                • Query JSON text functions
                  • JSON_VALUE
                  • JSON_QUERY
                  • JSON_EXISTS
                  • JSON_TABLE
                • Validate JSON text functions
                  • JSON_EQUAL
                • Modify JSON text functions
                  • JSON_MERGEPATCH
              • XML functions
                • Overview of XML functions
                • Construct XMLType data functions
                  • XMLAGG
                  • XMLATTRIBUTES
                  • XMLELEMENT
                  • XMLPARSE
                  • XMLCONCAT
                  • XMLFOREST
                • Query XMLType data functions
                  • EXTRACT
                  • EXTRACTVALUE
                  • XMLSERIALIZE
                  • XMLCAST
                  • XMLTABLE
                  • XMLSEQUENCE
                  • EXISTSNODE
                • Modify XMLType data functions
                  • UPDATEXML
                  • INSERTCHILDXML
                  • DELETEXML
              • Spatial functions
                • Spatial functions
                • Constructor functions
                • SDO_GEOMETRY query functions
                • Format conversion functions
            • Aggregate functions
              • APPROX_COUNT_DISTINCT
              • AVG
              • CORR
              • COUNT
              • COVAR_POP
              • COVAR_SAMP
              • CUME_DIST
              • DENSE_RANK
              • GROUPING
              • KEEP
              • LISTAGG
              • MAX
              • MEDIAN
              • MIN
              • PERCENT_RANK
              • PERCENTILE_CONT
              • PERCENTILE_DISC
              • RANK
              • REGR_ (Linear Regression)
              • ROLLUP
              • STDDEV
              • STDDEV_POP
              • STDDEV_SAMP
              • SUM
              • VAR_POP
              • VAR_SAMP
              • VARIANCE
              • WMSYS.WM_CONCAT/WM_CONCAT
              • GROUP_ID
              • GROUPING_ID
            • Analysis functions
              • Analytic function description
              • AVG
              • ARG_MIN
              • ARG_MAX
              • CORR
              • COUNT
              • COVAR_POP
              • COVAR_SAMP
              • CUME_DIST
              • DENSE_RANK
              • FIRST_VALUE
              • KEEP
              • LAG
              • LAST_VALUE
              • LEAD
              • LISTAGG
              • MAX
              • MEDIAN
              • MIN
              • NTILE
              • NTH_VALUE
              • PERCENT_RANK
              • PERCENTILE_CONT
              • PERCENTILE_DISC
              • RANK
              • RATIO_TO_REPORT
              • REGR_ (Linear Regression)
              • ROW_NUMBER
              • STDDEV
              • STDDEV_POP
              • STDDEV_SAMP
              • SUM
              • VAR_POP
              • VAR_SAMP
              • VARIANCE
              • WMSYS.WM_CONCAT/WM_CONCAT
            • Information functions
              • OB_TRANSACTION_ID
            • 550.table-functions-of-oracle-mode
              • Overview of TABLE FUNCTIONS
              • FILES table function
          • Expressions
            • Overview
            • Simple expressions
            • Compound expressions
            • Conditional expressions
            • Column expressions
            • CURSOR Expressions
            • Datetime expressions
            • Function expressions
            • Interval expressions
            • Scalar Subquery Expression
            • Type constructor expressions
            • Expression list
          • Conditions
            • Overview of SQL conditions
            • Condition priority
            • Comparison conditions
            • Floating-point conditions
            • Logical conditions
            • Pattern-matching conditions
            • Null conditions
            • Compound conditions
            • BETWEEN condition
            • EXISTS condition
            • IN condition
          • Queries and subqueries
            • Overview of queries and subqueries
            • Simple query
            • Hierarchical queries
            • Composite queries
            • Join queries
            • Subqueries
            • Lateral derived tables
            • Query the DUAL table
          • SQL statements
            • DDL
              • ALTER EXTERNAL TABLE
              • ALTER INDEX
              • ALTER KEYSTORE
              • ALTER LOCATION
              • ALTER MATERIALIZED VIEW
              • ALTER MATERIALIZED VIEW LOG
              • ALTER OUTLINE
              • ALTER PROFILE
              • ALTER ROLE
              • ALTER SENSITIVE RULE
              • ALTER SEQUENCE
              • ALTER SESSION
              • ALTER SYSTEM FLUSH
              • ALTER SYSTEM FLUSH CACHE
              • ALTER/CHANGE/MODIFY EXTERNAL_STORAGE_DEST
              • ALTER SYSTEM FLUSH SEQUENCE CACHE
              • ALTER SYSTEM SET PARAMETER
              • VALIDATE
              • ALTER TABLE
              • ALTER TABLEGROUP
              • ALTER TABLESPACE
              • ALTER USER
              • COMMENT
              • CREATE CONTEXT
              • CREATE CONCURRENT_LIMITING_RULE
              • CREATE DIRECTORY
              • CREATE DATABASE LINK
              • CREATE EXTERNAL TABLE
              • CREATE INDEX
              • CREATE KEYSTORE
              • CREATE LOCATION
              • CREATE MATERIALIZED VIEW
              • CREATE MATERIALIZED VIEW LOG
              • CREATE OUTLINE
              • CREATE PROFILE
              • CREATE FORMAT OUTLINE
              • CREATE ROLE
              • CREATE SENSITIVE RULE
              • CREATE SEQUENCE
              • CREATE SYNONYM
              • CREATE TABLE
              • CREATE TABLEGROUP
              • CREATE TABLESPACE
              • CREATE USER
              • CREATE VIEW
              • DROP CONTEXT
              • DROP CONCURRENT_LIMITING_RULE
              • DROP DATABASE LINK
              • DROP DIRECTORY
              • DROP INDEX
              • DROP LOCATION
              • DROP MATERIALIZED VIEW
              • DROP MATERIALIZED VIEW LOG
              • DROP OUTLINE
              • DROP PROFILE
              • DROP ROLE
              • DROP SENSITIVE RULE
              • DROP SEQUENCE
              • DROP SYNONYM
              • DROP TABLE
              • DROP TABLEGROUP
              • DROP TABLESPACE
              • DROP USER
              • DROP VIEW
              • RENAME
              • TRUNCATE TABLE
              • MAJOR and MINOR
            • DML
              • DELETE
              • INSERT
              • MERGE
              • PURGE
              • EXPLAIN
              • SELECT
                • SIMPLE SELECT
                • Collection SELECT
                • WITH CLAUSE
                • JOIN clause
                • APPLY clause
              • UPDATE
            • DCL
              • ANALYZE
              • ALTER SYSTEM KILL SESSION
              • AUDIT
              • COMMIT
              • FLASHBACK TABLE BEFORE DROP
              • GRANT
              • KILL
              • LOAD DATA
              • LOCK TABLE
              • REMOVE
              • REVOKE
              • ROLLBACK
              • SAVEPOINT
              • SELECT INTO
              • SET NAMES
              • SET PASSWORD
              • SET ROLE
              • SET VARIABLE
              • SHOW
              • SHRINK
              • TRANSACTION
          • DDL feature
            • Overview of DDL operations
            • Online and offline DDL operations
            • Index operations
            • Primary key operations
            • Column operations
            • Operations on generated columns
            • Foreign key operations
            • Table operations
            • Partition operations
            • Column type change rules
            • NUMBER type conversion rules
      • SQL specifications and practices
        • SQL writing restrictions
        • SQL writing specifications
          • SELECT statement writing specification
          • DML statement writing specifications
          • DDL statement writing specifications
          • Multi-table association specification
          • Table scanning mode specification
          • Transaction-related specifications
          • Cache usage specifications
          • Guidelines for using hints
          • Other specifications
        • SQL statement examples
          • Implicit type conversion
          • JOIN table usage suggestions
          • Weak-consistency read
          • Pagination
      • Reserved keywords (MySQL mode)
      • Reserved keywords (Oracle mode)
      • Data type conversion behavior of a MySQL tenant in strict mode
    • PL reference
      • What is PL
        • PL overview
        • Main features of PL
        • PL architecture
      • PL reference (MySQL-compatible mode)
        • PL syntax
        • PL stored procedures
          • Overview of PL stored programs
          • Variables in stored programs
          • Stored procedures
          • Manage stored routines and privileges
          • Stored functions
          • External storage functions
          • Triggers
          • EVENT
          • Stored program usage restrictions
          • SQL Transpiler
          • PL asynchronous commit optimization
        • PL cursors
          • Overview
          • Cursor execution process
          • Server-side cursor usage limits
        • PL conditional control statements
          • CASE
          • IF
          • ITERATE
          • LEAVE
          • LOOP
          • REPEAT
          • RETURN
          • WHILE
        • PL data manipulation statements
          • CALL
          • DO
        • PL data definition statements
          • ALTER FUNCTION
          • ALTER PROCEDURE
          • CREATE FUNCTION
          • CREATE PROCEDURE
          • CREATE TRIGGER
          • DROP FUNCTION
          • DROP PROCEDURE
          • DROP TRIGGER
        • PL database management statements
          • SHOW CREATE FUNCTION
          • SHOW CREATE PROCEDURE
          • SHOW CREATE TRIGGER
          • SHOW FUNCTION STATUS
          • SHOW PROCEDURE STATUS
          • SHOW TRIGGERS
        • PL related dictionary views
          • INFORMATION_SCHEMA PARAMETERS
          • INFORMATION_SCHEMA ROUTINES
          • INFORMATION_SCHEMA TRIGGERS
        • PL exception handling
          • Overview
          • DECLARE ... CONDITION
          • DECLARE ... HANDLER
          • GET DIAGNOSTICS
          • RESIGNAL
          • SIGNAL
          • Scope of procedures
          • Diagnostics area
          • Exception handling and OUT/INOUT parameters
          • Limitations on exception handling
        • PL system packages
          • Oracle Database System Packages Overview
          • DBMS_AI_SERVICE
            • Overview of DBMS_AI_SERVICE
            • CREATE_AI_MODEL
            • DROP_AI_MODEL
            • CREATE_AI_MODEL_ENDPOINT
            • ALTER_AI_MODEL_ENDPOINT
            • DROP_AI_MODEL_ENDPOINT
          • DBMS_DAILY_MAINTENANCE
            • Overview
            • TRIGGER_WINDOW_COMPACTION_PROC
            • SET_THREAD_COUNT
          • DBMS_HYBRID_SEARCH
            • Overview of DBMS_HYBRID_SEARCH
            • SEARCH
            • GET_SQL
          • DBMS_MVIEW
            • Overview of DBMS_MVIEW
            • PURGE_LOG
            • REFRESH
          • DBMS_MVIEW_STATS
            • Overview of DBMS_MVIEW_STATS
            • PURGE_REFRESH_STATS
            • SET_MVREF_STATS_PARAMS
            • SET_SYSTEM_DEFAULT
          • DBMS_PARTITION
            • Overview
            • MANAGE_DYNAMIC_PARTITION
          • DBMS_RESOURCE_MANAGER
            • Overview
            • CREATE_CONSUMER_GROUP
            • CREATE_PLAN
            • CREATE_PLAN_DIRECTIVE
            • COPY_PLAN
            • DELETE_CONSUMER_GROUP
            • DELETE_PLAN
            • DELETE_PLAN_DIRECTIVE
            • System Packages
            • UPDATE_PLAN_DIRECTIVE
          • DBMS_STATS
            • Overview of DBMS_STATS
            • ALTER_STATS_HISTORY_RETENTION
            • CREATE_STAT_TABLE
            • DELETE_COLUMN_STATS
            • DELETE_INDEX_STATS
            • DELETE_TABLE_STATS
            • DELETE_SCHEMA_STATS
            • DELETE_SCHEMA_PREFS
            • DELETE_SYSTEM_STATS
            • DELETE_TABLE_PREFS
            • DROP_STAT_TABLE
            • EXPORT_COLUMN_STATS
            • EXPORT_INDEX_STATS
            • EXPORT_TABLE_STATS
            • EXPORT_SCHEMA_STATS
            • FLUSH_DATABASE_MONITORING_INFO
            • GATHER_INDEX_STATS
            • GATHER_TABLE_STATS
            • GATHER_SCHEMA_STATS
            • GATHER_SYSTEM_STATS
            • GET_STATS_HISTORY_AVAILABILITY
            • GET_STATS_HISTORY_RETENTION
            • GET_PARAM
            • GET_PREFS
            • IMPORT_INDEX_STATS
            • IMPORT_COLUMN_STATS
            • IMPORT_TABLE_STATS
            • IMPORT_SCHEMA_STATS
            • LOCK_PARTITION_STATS
            • LOCK_SCHEMA_STATS
            • LOCK_TABLE_STATS
            • RESTORE_TABLE_STATS
            • RESTORE_SCHEMA_STATS
            • RESET_GLOBAL_PREF_DEFAULTS
            • RESET_PARAM_DEFAULTS
            • PURGE_STATS
            • SET_COLUMN_STATS
            • SET_INDEX_STATS
            • SET_TABLE_STATS
            • SET_GLOBAL_PREFS
            • SET_PARAM
            • SET_SCHEMA_PREFS
            • SET_SYSTEM_STATS
            • SET_TABLE_PREFS
            • UNLOCK_PARTITION_STATS
            • UNLOCK_SCHEMA_STATS
            • UNLOCK_TABLE_STATS
            • CANCEL_GATHER_STATS
            • COPY_TABLE_STATS
          • DBMS_TRUSTED_CERTIFICATE_MANAGER
            • Overview
            • ADD_TRUSTED_CERTIFICATE
            • DELETE_TRUSTED_CERTIFICATE
            • UPDATE_TRUSTED_CERTIFICATE
          • DBMS_UDR
            • Overview
            • CREATE_RULE
            • DISABLE_RULE
            • ENABLE_RULE
            • REMOVE_RULE
          • DBMS_VECTOR
            • Overview of DBMS_VECTOR
            • REFRESH_INDEX
            • REBUILD_INDEX
            • INDEX_VECTOR_MEMORY_ESTIMATE
            • INDEX_VECTOR_MEMORY_ADVISOR
            • FLUSH_INDEX
            • COMPACT_INDEX
          • DBMS_WORKLOAD_REPOSITORY
            • Overview
            • ASH_REPORT
            • CREATE_SNAPSHOT
            • DROP_SNAPSHOT_RANGE
            • MODIFY_SNAPSHOT_SETTINGS
          • DBMS_XPLAN
            • Overview
            • DISPLAY_ACTIVE_SESSION_PLAN
            • DISPLAY_CURSOR
            • DISPLAY
            • DISABLE_OPT_TRACE
            • DISPLAY_SQL_PLAN_BASELINE
            • ENABLE_OPT_TRACE
            • SET_OPT_TRACE_PARAMETER
          • DBMS_XPROFILE
            • Overview of DBMS_XPROFILE
            • DISPLAY_PROFILE
          • DBMS_BALANCE
            • Overview
            • SET_BALANCE_WEIGHT
            • CLEAR_BALANCE_WEIGHT
            • TRIGGER_PARTITION_BALANCE
            • SET_TABLEGROUP_BALANCE_WEIGHT
            • CLEAR_TABLEGROUP_BALANCE_WEIGHT
          • DBMS_LIMIT_CALCULATOR
            • Overview
            • CALCULATE_MIN_PHY_RES_NEEDED_BY_UNIT
            • CALCULATE_MIN_PHY_RES_NEEDED_BY_LOGIC_RES
            • CALCULATE_MIN_PHY_RES_NEEDED_BY_STANDBY_TENANT
          • DBMS_EXTERNAL_TABLE
            • Overview of DBMS_EXTERNAL_TABLE
            • AUTO_REFRESH_EXTERNAL_TABLE
          • DBMS_JAVA
            • Overview of DBMS_JAVA
            • LOADJAVA
            • DROPJAVA
          • DBMS_PYTHON
            • Overview
            • DROPPYTHON
            • LOADPYTHON
          • DBMS_DATA_DICT
            • DBMS_DATA_DICT
        • PL reserved and non-reserved keywords
      • PL reference (Oracle-compatible mode)
        • PL language basics
          • Character sets
          • Lexical elements
          • Syntax
          • Reference identifiers
          • Identifier scope and visibility
          • Assignment
          • Expressions
          • PL blocks
          • Subprograms
          • Error reporting functions
        • PL data types
          • Overview
          • SQL data types
          • Large object data types
          • Boolean data type
          • User-defined subtypes
          • PLS_INTEGER and BINARY_INTEGER
          • Arrays
          • PL JSON data types
        • PL process control
          • Overview
          • Conditional control
          • Loop control
          • Sequence control
        • PL collections and records
          • Overview
          • Collections
          • Associative arrays
          • Varrays
          • Nested tables
          • Collection constructors
          • Collection methods
            • Overview
            • DELETE method
            • TRIM method
            • EXTEND method
            • EXISTS method
            • FIRST and LAST methods
            • COUNT method
            • LIMIT method
            • PRIOR and NEXT methods
          • Records
          • Insert and update tables with records
          • Create and invoke subprograms with record-type parameters
        • PL static SQL
          • Overview
          • Cursors
            • Cursor overview
            • Cursor attributes
            • Implicit cursors
            • Explicit cursor
            • Cursor variables
            • Use FOR loops to traverse cursors
            • Modify and delete cursors
          • Transaction processing and control
          • Autonomous transactions
            • Overview
            • Control autonomous transactions
            • Autonomous triggers
            • Call autonomous functions from SQL
          • FORALL and BULK COLLECT
        • PL dynamic SQL
          • Overview
          • Execute dynamic SQL statements
          • DBMS_SQL system package
        • PL stored procedures and functions
          • Overview
          • Create a stored procedure
          • Create a function
          • Manage stored procedures and functions
          • Grant privileges
          • Pipeline functions
            • Overview of pipelined table functions
            • Create a pipeline function
            • Related applications
          • SQL Transpiler
          • User-defined functions
            • Overview
            • User-defined aggregate functions
            • Create a user-defined aggregate function
            • Use user-defined aggregate functions
          • Information collection for stored procedures and parallel execution of SQL statements
          • PL Database Link
          • PL asynchronous commit optimization
        • PL triggers
          • Overview
          • Create a DML trigger
          • Modify and drop triggers
          • Disable and enable a trigger
          • View trigger information
          • INSTEAD OF DML triggers
          • Composite DML triggers
          • System triggers
        • PL packages
          • Overview
          • Create a package
          • Overloaded programs in a package
          • Manage packages
          • Definition of the STANDARD package for PL
        • PL exception handling
          • Overview
          • Compile-Time Warnings
          • Exception types
          • Exception handling order
        • DDL operations on stored PL units
          • Overview
          • ALTER FUNCTION
          • ALTER PACKAGE
          • ALTER PROCEDURE
          • ALTER TRIGGER
          • ALTER TYPE
          • CREATE FUNCTION
          • CREATE PACKAGE
          • CREATE PACKAGE BODY
          • CREATE PROCEDURE
          • CREATE TRIGGER
          • CREATE TYPE
          • CREATE TYPE BODY
          • DROP FUNCTION
          • DROP PACKAGE
          • DROP PROCEDURE
          • DROP TRIGGER
          • DROP TYPE
          • DROP TYPE BODY
        • PL label security package
          • Overview of the PL Label Security package
          • SA_SYSDBA policy management package
            • Overview
            • SA_SYSDBA.ALTER_POLICY
            • SA_SYSDBA.CREATE_POLICY
            • SA_SYSDBA.DROP_POLICY
          • SA_COMPONENTS label component package
            • Overview of the SA_COMPONENTS package
            • SA_COMPONENTS.ALTER_LEVEL
            • SA_COMPONENTS.CREATE_LEVEL
            • SA_COMPONENTS.DROP_LEVEL
          • SA_LABEL_ADMIN label management package
            • Overview
            • SA_LABEL_ADMIN.ALTER_LABEL
            • SA_LABEL_ADMIN.CREATE_LABEL
            • SA_LABEL_ADMIN.DROP_LABEL
          • SA_POLICY_ADMIN policy management package
            • Overview
            • SA_POLICY_ADMIN.APPLY_TABLE_POLICY
            • SA_POLICY_ADMIN.DISABLE_TABLE_POLICY
            • SA_POLICY_ADMIN.ENABLE_TABLE_POLICY
            • SA_POLICY_ADMIN.REMOVE_TABLE_POLICY
          • SA_USER_ADMIN user label management package
            • Overview
            • SA_USER_ADMIN.SET_LEVELS
          • SA_SESSION session management package
            • Overview of SA_SESSION
            • SA_SESSION.LABEL
            • SA_SESSION.RESTORE_DEFAULT_LABELS
            • SA_SESSION.ROW_LABEL
            • SA_SESSION.SET_LABEL
            • SA_SESSION.SET_ROW_LABEL
        • PL system package (Oracle-compatible mode)
          • Overview
          • DBMS_APPLICATION_INFO
            • Overview
            • READ_CLIENT_INFO
            • READ_MODULE
            • SET_ACTION
            • SET_CLIENT_INFO
            • SET_MODULE
          • DBMS_AUDIT_MGMT
            • Overview of DBMS_AUDIT_MGMT
            • CLEAN_AUDIT_TRAIL
            • CREATE_PURGE_JOB
            • DROP_PURGE_JOB
            • SET_LAST_ARCHIVE_TIMESTAMP
            • SET_PURGE_JOB_STATUS
          • DBMS_BALANCE
            • Overview of DBMS_BALANCE
            • SET_BALANCE_WEIGHT
            • CLEAR_BALANCE_WEIGHT
            • TRIGGER_PARTITION_BALANCE
          • DBMS_CRYPTO
            • Overview of DBMS_CRYPTO
            • ENCRYPT
            • DECRYPT
            • HASH
          • DBMS_DAILY_MAINTENANCE
            • Overview of DBMS_DAILY_MAINTENANCE
            • TRIGGER_WINDOW_COMPACTION_PROC
            • SET_THREAD_COUNT
          • DBMS_DEBUG
            • Overview
            • ATTACH_SESSION
            • CONTINUE
            • DEBUG_ON
            • DEBUG_OFF
            • DETACH_SESSION
            • DELETE_BREAKPOINT
            • DISABLE_BREAKPOINT
            • ENABLE_BREAKPOINT
            • GET_VALUE
            • GET_VALUES
            • GET_RUNTIME_INFO
            • GET_TIMEOUT_BEHAVIOUR
            • INITIALIZE
            • PROBE_VERSION
            • PRINT_BACKTRACE
            • SET_TIMEOUT
            • SET_TIMEOUT_BEHAVIOUR
            • SET_BREAKPOINT
            • SHOW_BREAKPOINTS
          • DBMS_DESCRIBE
            • Overview
            • DESCRIBE_PROCEDURE
          • DBMS_JOB
            • Overview of DBMS_JOB
            • BROKEN
            • CHANGE
            • ZONE
            • INTERVAL
            • NEXT_DATE
            • REMOVE
            • RUN
            • SUBMIT
            • USER_EXPORT
            • WHAT
          • DBMS_LOB
            • Overview of DBMS_LOB
            • APPEND
            • CLOSE
            • COPY
            • CREATETEMPORARY
            • ERASE
            • FREETEMPORARY
            • GETLENGTH
            • ISOPEN
            • INSTR
            • ISTEMPORARY
            • OPEN
            • READ
            • SUBSTR
            • TRIM
            • WRITE
            • WRITEAPPEND
            • CONVERTTOBLOB
          • DBMS_LOCK
            • Overview of DBMS_LOCK
            • ALLOCATE_UNIQUE
            • ALLOCATE_UNIQUE_AUTONOMOUS
            • REQUEST
            • SLEEP
            • RELEASE
          • DBMS_METADATA
            • Overview of DBMS_METADATA
            • GET_DDL
            • GET_TABLE_INDEX_DDL
          • DBMS_MVIEW
            • Overview of DBMS_MVIEW
            • PURGE_LOG
            • REFRESH
          • DBMS_MONITOR
            • Overview of DBMS_MONITOR
            • OB_SESSION_TRACE_ENABLE
            • OB_SESSION_TRACE_DISABLE
            • OB_CLIENT_ID_TRACE_ENABLE
            • OB_CLIENT_ID_TRACE_DISABLE
            • OB_MOD_ACT_TRACE_ENABLE
            • OB_MOD_ACT_TRACE_DISABLE
            • OB_TENANT_TRACE_ENABLE
            • OB_TENANT_TRACE_DISABLE
          • DBMS_MVIEW_STAT
            • Overview of DBMS_MVIEW_STATS
            • PURGE_REFRESH_STATS
            • SET_MVREF_STATS_PARAMS
            • SET_SYSTEM_DEFAULT
          • DBMS_OUTPUT
            • Overview of DBMS_OUTPUT
            • DISABLE
            • ENABLE
            • GET_LINE
            • GET_LINES
            • NEW_LINE
            • PUT
            • PUT_LINE
          • DBMS_PLAN_CACHE
            • Overview of DBMS_PLAN_CACHE
            • PURGE
          • DBMS_PLSQL_CODE_COVERAGE
            • Overview
            • START_COVERAGE
            • STOP_COVERAGE
            • CREATE_COVERAGE_TABLES
          • DBMS_PARTITION
            • DBMS_PARTITION overview
            • MANAGE_DYNAMIC_PARTITION
          • DBMS_RANDOM
            • Overview of DBMS_RANDOM
            • INITIALIZE
            • NORMAL
            • RANDOM
            • SEED
            • STRING
            • TERMINATE
            • VALUE
          • DBMS_RESOURCE_MANAGER
            • Overview
            • CREATE_CONSUMER_GROUP
            • CREATE_PLAN
            • CREATE_PLAN_DIRECTIVE
            • COPY_PLAN
            • DELETE_CONSUMER_GROUP
            • DELETE_PLAN
            • DELETE_PLAN_DIRECTIVE
            • SET_CONSUMER_GROUP_MAPPING
            • UPDATE_PLAN_DIRECTIVE
          • DBMS_SCHEDULER
            • Overview of DBMS_SCHEDULER
            • CREATE_JOB
            • CREATE_JOB_CLASS
            • CREATE_PROGRAM
            • DEFINE_PROGRAM_ARGUMENT
            • DISABLE
            • DROP_JOB
            • DROP_JOB_CLASS
            • DROP_PROGRAM
            • ENABLE
            • GENERATE_JOB_NAME
            • PURGE_LOG
            • RUN_JOB
            • SET_ATTRIBUTE
            • SET_JOB_ARGUMENT_VALUE
            • STOP_JOB
          • DBMS_SESSION
            • Overview
            • CLEAR_ALL_CONTEXT
            • CLEAR_CONTEXT
            • CLEAR_IDENTIFIER
            • RESET_PACKAGE
            • SET_CONTEXT
            • SET_IDENTIFIER
            • SESSION_IS_ROLE_ENABLED
            • IS_ROLE_ENABLED
          • DBMS_SQL
            • Overview of DBMS_SQL
            • BIND_VARIABLE
            • CLOSE_CURSOR
            • COLUMN_VALUE
            • DEFINE_COLUMN
            • DEFINE_ARRAY
            • DESCRIBE_COLUMNS
            • EXECUTE
            • EXECUTE_AND_FETCH
            • FETCH_ROWS
            • IS_OPEN
            • LAST_ERROR_POSITION
            • OPEN_CURSOR
            • PARSE
            • VARIABLE_VALUE
          • DBMS_STATS
            • Overview
            • ALTER_STATS_HISTORY_RETENTION
            • CREATE_STAT_TABLE
            • DELETE_COLUMN_STATS
            • DELETE_INDEX_STATS
            • DELETE_TABLE_STATS
            • DELETE_SCHEMA_STATS
            • DELETE_SCHEMA_PREFS
            • DELETE_SYSTEM_STATS
            • DELETE_TABLE_PREFS
            • DROP_STAT_TABLE
            • EXPORT_COLUMN_STATS
            • EXPORT_INDEX_STATS
            • EXPORT_TABLE_STATS
            • EXPORT_SCHEMA_STATS
            • FLUSH_DATABASE_MONITORING_INFO
            • GATHER_INDEX_STATS
            • GATHER_TABLE_STATS
            • GATHER_SCHEMA_STATS
            • GATHER_SYSTEM_STATS
            • GET_STATS_HISTORY_AVAILABILITY
            • GET_STATS_HISTORY_RETENTION
            • GET_PARAM
            • GET_PREFS
            • IMPORT_INDEX_STATS
            • IMPORT_COLUMN_STATS
            • IMPORT_TABLE_STATS
            • IMPORT_SCHEMA_STATS
            • LOCK_PARTITION_STATS
            • LOCK_SCHEMA_STATS
            • LOCK_TABLE_STATS
            • RESTORE_TABLE_STATS
            • RESTORE_SCHEMA_STATS
            • RESET_GLOBAL_PREF_DEFAULTS
            • RESET_PARAM_DEFAULTS
            • PURGE_STATS
            • SET_COLUMN_STATS
            • SET_INDEX_STATS
            • SET_TABLE_STATS
            • SET_GLOBAL_PREFS
            • SET_PARAM
            • SET_SCHEMA_PREFS
            • SET_SYSTEM_STATS
            • SET_TABLE_PREFS
            • UNLOCK_PARTITION_STATS
            • UNLOCK_SCHEMA_STATS
            • UNLOCK_TABLE_STATS
            • COPY_TABLE_STATS
            • CANCEL_GATHER_STATS
          • DBMS_UDR
            • DBMS_UDR overview
            • CREATE_RULE
            • DISABLE_RULE
            • ENABLE_RULE
            • REMOVE_RULE
          • DBMS_UTILITY
            • Overview of DBMS_UTILITY
            • ACTIVE_INSTANCES
            • CURRENT_INSTANCE
            • DB_VERSION
            • FORMAT_CALL_STACK
            • FORMAT_ERROR_BACKTRACE
            • FORMAT_ERROR_STACK
            • GET_ENDIANNESS
            • GET_HASH_VALUE
            • GET_PARAMETER_VALUE
            • GET_SQL_HASH
            • GET_TIME
            • IS_BIT_SET
            • IS_CLUSTER_DATABASE
            • NAME_RESOLVE
            • NAME_TOKENIZE
            • OLD_CURRENT_SCHEMA
            • OLD_CURRENT_USER
            • PORT_STRING
            • TABLE_TO_COMMA
            • COMMA_TO_TABLE
          • DBMS_WORKLOAD_REPOSITORY
            • Overview of DBMS_WORKLOAD_REPOSITORY
            • ASH_REPORT
          • DBMS_XA
            • DBMS_XA overview
            • Constants of DBMS_XA
            • DBMS_XA_XID object type
            • DIST_TXN_SYNC
            • XA_COMMIT
            • XA_END
            • XA_FORGET
            • XA_GETLASTOER
            • XA_PREPARE
            • XA_RECOVER
            • XA_ROLLBACK
            • XA_SETTIMEOUT
            • XA_START
          • DBMS_XMLGEN
            • Overview of the DBMS_XMLGEN package
            • CONVERT
          • DBMS_PROFILER
            • Overview of DBMS_PROFILER
            • START_PROFILER
            • STOP_PROFILE
            • PAUSE_PROFILER
            • RESUME_PROFILER
            • FLUSH_DATA
            • GET_VERSION
            • INTERNAL_VERSION_CHECK
            • ROLLUP_UNIT
            • ROLLUP_RUN
            • OB_INIT_OBJECTS
            • OB_DROP_OBJECTS
          • DBMS_XPLAN
            • Overview of DBMS_XPLAN
            • DISPLAY_ACTIVE_SESSION_PLAN
            • DISPLAY_CURSOR
            • DISPLAY
            • DISABLE_OPT_TRACE
            • DISPLAY_SQL_PLAN_BASELINE
            • ENABLE_OPT_TRACE
            • SET_OPT_TRACE_PARAMETER
          • DBMS_XPROFILE
            • Overview of DBMS_XPROFILE
            • DISPLAY_PROFILE
          • DBMS_EXTERNAL_TABLE
            • Overview of DBMS_EXTERNAL_TABLE
            • AUTO_REFRESH_EXTERNAL_TABLE
          • DBMS_DDL
            • Overview of DBMS_DDL
            • WRAP
            • CREATE_WRAPPED
          • ODCIConst
            • Overview of ODCIConst
            • ODCIArgDesc.ArgType
            • ODCIEnv.CallProperty
            • ODCIEnv.Envflags
            • ODCIIndexAlter
            • ODCIIndexAlter parameter alter_option
            • ODCIIndexInfo.IndexInfoFlags
            • ODCIIndexInfo.IndexParaDegree
            • ODCIPredInfo.Flags
            • ODCIQueryInfo.Flags
            • ODCIStatsOptions.Flags
            • ODCIStatsOptions.Options
            • Return Status
            • ScnFlg
          • UTL_ENCODE
            • Overview of UTL_ENCODE
            • BASE64_DECODE
            • BASE64_ENCODE
          • UTL_FILE
            • Overview of UTL_FILE
            • FCLOSE
            • FFLUSH
            • FOPEN
            • FGETPOS
            • FREMOVE
            • FRENAME
            • FSEEK
            • NEW_LINE
            • GET_LINE
            • PUT
            • PUT_LINE
          • UTL_I18N
            • Overview of UTL_I18N
            • RAW_TO_CHAR
            • STRING_TO_RAW
          • UTL_RECOMP
            • Overview of UTL_RECOMP
            • RECOMP_PARALLEL
            • RECOMP_SERIAL
            • TRUNCATE_UTL_RECOMP_SKIP_LIST
            • POPULATE_UTL_RECOMP_SKIP_LIST
            • PARALLEL_SLAVE
          • UTL_RAW
            • Overview of UTL_RAW
            • BIT_AND
            • BIT_COMPLEMENT
            • BIT_OR
            • BIT_XOR
            • CAST_FROM_BINARY_DOUBLE
            • CAST_FROM_BINARY_FLOAT
            • CAST_FROM_BINARY_INTEGER
            • CAST_FROM_NUMBER
            • CAST_TO_BINARY_DOUBLE
            • CAST_TO_BINARY_FLOAT
            • CAST_TO_BINARY_INTEGER
            • CAST_TO_NUMBER
            • CAST_TO_RAW
            • CAST_TO_VARCHAR2
            • COMPARE
            • CONCAT
            • COPIES
            • LENGTH
            • REVERSE
            • SUBSTR
            • TRANSLATE
          • UTL_TCP
            • Overview of UTL_TCP
            • OPEN_CONNECTION
            • CLOSE_CONNECTION
            • CLOSE_ALL_CONNECTIONS
            • WRITE_LINE
            • WRITE_TEXT
            • WRITE_RAW
            • GET_LINE
            • GET_TEXT
          • UTL_SMTP
            • Overview of UTL_SMTP
            • OPEN_CONNECTION
            • CLOSE_CONNECTION
            • QUIT
            • AUTH
            • COMMAND
            • COMMAND_REPLIES
            • HELO
            • EHLO
            • MAIL
            • RCPT
            • OPEN_DATA
            • WRITE_DATA
            • WRITE_RAW_DATA
            • CLOSE_DATA
            • DATA
            • VRFY
            • HELP
            • NOOP
            • RSET
          • UTL_HTTP
            • Overview of UTL_HTTP
            • BEGIN_REQUEST
            • END_REQUEST
            • GET_RESPONSE
            • END_RESPONSE
            • READ_LINE
            • READ_RAW
            • READ_TEXT
            • WRITE_LINE
            • WRITE_RAW
            • WRITE_TEXT
            • SET_TRANSFER_TIMEOUT
            • GET_TRANSFER_TIMEOUT
          • ANYDATA TYPE
            • Overview of the ANYDATA type
            • BEGINCREATE static stored procedure
            • ENDCREATE member stored procedure
            • GET* member function
            • GETTYPE member function
            • GETTYPENAME member function
            • PIECEWISE member stored procedure
            • SET* member stored procedure
          • XMLType
            • Overview
            • CREATEXML
            • GETCLOBVAL
            • GETSTRINGVAL
            • TRANSFORM
            • XMLTYPE
            • EXISTSNODE
            • EXTRACT
        • PL reserved keywords
    • System views
      • Overview
      • System views overview
      • View changes in V3.x and V4.x
      • SYS tenant views
        • Dictionary views
          • information_schema.CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS
          • information_schema.CHARACTER_SETS
          • information_schema.CHECK_CONSTRAINTS
          • information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
          • information_schema.COLLATIONS
          • information_schema.COLUMN_PRIVILEGES
          • information_schema.COLUMNS
          • information_schema.ENGINES
          • information_schema.events
          • information_schema.GLOBAL_STATUS
          • information_schema.GLOBAL_VARIABLES
          • information_schema.KEY_COLUMN_USAGE
          • information_schema.PARAMETERS
          • information_schema.PARTITIONS
          • information_schema.PROCESSLIST
          • information_schema.QUERY_RESPONSE_TIME
          • information_schema.REFERENTIAL_CONSTRAINTS
          • information_schema.role_table_grants
          • information_schema.role_column_grants
          • information_schema.role_routine_grants
          • information_schema.ROUTINES
          • information_schema.SCHEMA_PRIVILEGES
          • information_schema.SCHEMATA
          • information_schema.SESSION_STATUS
          • information_schema.SESSION_VARIABLES
          • information_schema.STATISTICS
          • information_schema.TABLE_CONSTRAINTS
          • information_schema.TABLE_PRIVILEGES
          • information_schema.TABLES
          • information_schema.USER_PRIVILEGES
          • information_schema.VIEW_TABLE_USAGE
          • information_schema.VIEWS
          • mysql.columns_priv
          • mysql.db
          • mysql.default_roles
          • mysql.help_category
          • mysql.help_keyword
          • mysql.help_relation
          • mysql.help_topic
          • mysql.proc
          • mysql.procs_priv
          • mysql.role_edges
          • mysql.time_zone
          • mysql.time_zone_name
          • mysql.time_zone_transition
          • mysql.time_zone_transition_type
          • mysql.user
          • oceanbase.ALL_OB_EXTERNAL_TABLE_FILES
          • oceanbase.CDB_CKPT_HISTORY
          • oceanbase.CDB_OB_DATABASE_PRIVILEGE
          • oceanbase.CDB_IND_COLUMNS
          • oceanbase.CDB_IND_PARTITIONS
          • oceanbase.CDB_IND_SUBPARTITIONS
          • CDB_INDEX_USAGE
          • oceanbase.CDB_INDEXES
          • CDB_MVIEW_LOGS
          • oceanbase.CDB_MVIEW_RUNNING_JOBS
          • CDB_MVIEWS
          • CDB_MVREF_CHANGE_STATS
          • CDB_MVREF_RUN_STATS
          • CDB_MVREF_STATS
          • CDB_MVREF_STATS_PARAMS
          • CDB_MVREF_STATS_SYS_DEFAULTS
          • CDB_MVREF_STMT_STATS
          • oceanbase.CDB_OB_ACCESS_POINT
          • oceanbase.CDB_OB_AI_MODEL_ENDPOINTS
          • oceanbase.CDB_OB_AI_MODELS
          • oceanbase.CDB_OB_LS_ARB_REPLICA_TASKS
          • oceanbase.CDB_OB_ARCHIVE_DEST
          • oceanbase.CDB_OB_ARCHIVELOG
          • oceanbase.CDB_OB_ARCHIVELOG_PIECE_FILES
          • oceanbase.CDB_OB_ARCHIVELOG_SUMMARY
          • oceanbase.CDB_OB_AUTO_INCREMENT
          • CDB_OB_AUX_STATISTICS
          • oceanbase.CDB_OB_BACKUP_DELETE_JOB_HISTORY
          • oceanbase.CDB_OB_BACKUP_DELETE_JOBS
          • oceanbase.CDB_OB_BACKUP_DELETE_POLICY
          • oceanbase.CDB_OB_BACKUP_DELETE_TASK_HISTORY
          • oceanbase.CDB_OB_BACKUP_DELETE_TASKS
          • oceanbase.CDB_OB_BACKUP_JOB_HISTORY
          • oceanbase.CDB_OB_BACKUP_JOBS
          • oceanbase.CDB_OB_BACKUP_PARAMETER
          • oceanbase.CDB_OB_BACKUP_SET_FILES
          • oceanbase.CDB_OB_BACKUP_STORAGE_INFO
          • oceanbase.CDB_OB_BACKUP_STORAGE_INFO_HISTORY
          • oceanbase.CDB_OB_BACKUP_TASK_HISTORY
          • oceanbase.CDB_OB_BACKUP_TASKS
          • oceanbase.CDB_OB_BACKUP_VALIDATE_JOBS
          • oceanbase.CDB_OB_BACKUP_VALIDATE_JOB_HISTORY
          • oceanbase.CDB_OB_BACKUP_VALIDATE_TASKS
          • oceanbase.CDB_OB_BACKUP_VALIDATE_TASK_HISTORY
          • oceanbase.CDB_OB_BALANCE_JOB_HISTORY
          • oceanbase.CDB_OB_BALANCE_JOBS
          • oceanbase.CDB_OB_BALANCE_TASK_HISTORY
          • oceanbase.CDB_OB_BALANCE_TASKS
          • oceanbase.CDB_OB_COLUMN_CHECKSUM_ERROR_INFO
          • oceanbase.CDB_OB_CCL_RULES
          • oceanbase.CDB_OB_CS_REPLICA_STATS
          • oceanbase.CDB_OB_DATA_DICTIONARY_IN_LOG
          • oceanbase.CDB_OB_DATABASES
          • oceanbase.CDB_OB_DEADLOCK_EVENT_HISTORY
          • oceanbase.CDB_OB_DYNAMIC_PARTITION_TABLES
          • oceanbase.CDB_OB_EXTERNAL_TABLE_FILES
          • oceanbase.CDB_OB_FREEZE_INFO
          • oceanbase.CDB_OB_IMPORT_TABLE_JOB_HISTORY
          • oceanbase.CDB_OB_IMPORT_TABLE_JOBS
          • oceanbase.CDB_OB_IMPORT_TABLE_TASK_HISTORY
          • oceanbase.CDB_OB_IMPORT_TABLE_TASKS
          • oceanbase.CDB_OB_KV_TTL_TASK_HISTORY
          • oceanbase.CDB_OB_KV_TTL_TASKS
          • oceanbase.CDB_OB_LOG_RESTORE_SOURCE
          • oceanbase.CDB_OB_LS
          • oceanbase.CDB_OB_LS_ARB_REPLICA_TASK_HISTORY
          • oceanbase.CDB_OB_LS_HISTORY
          • oceanbase.CDB_OB_LS_LOCATIONS
          • oceanbase.CDB_OB_LS_LOG_ARCHIVE_PROGRESS
          • oceanbase.CDB_OB_LS_REPLICA_TASKS
          • oceanbase.CDB_OB_LS_REPLICA_TASK_HISTORY
          • oceanbase.CDB_OB_MAJOR_COMPACTION
          • oceanbase.CDB_OB_OBJECT_BALANCE_WEIGHT
          • oceanbase.CDB_OB_RECOVER_TABLE_JOB_HISTORY
          • oceanbase.CDB_OB_RECOVER_TABLE_JOBS
          • oceanbase.CDB_OB_SERVICES
          • oceanbase.CDB_OB_RESTORE_HISTORY
          • oceanbase.CDB_OB_RESTORE_PROGRESS
          • oceanbase.CDB_OB_RSRC_DIRECTIVES
          • oceanbase.CDB_OB_SENSITIVE_COLUMNS
          • oceanbase.CDB_OB_SENSITIVE_RULE_PLAINACCESS_USERS
          • oceanbase.CDB_OB_SENSITIVE_RULES
          • oceanbase.CDB_OB_SERVER_SPACE_USAGE
          • oceanbase.CDB_OB_SPACE_USAGE
          • oceanbase.CDB_OB_SS_SPACE_USAGE
          • oceanbase.CDB_OB_SYS_VARIABLES
          • oceanbase.CDB_OB_STORAGE_IO_USAGE
          • oceanbase.CDB_OB_TABLE_LOCATIONS
          • oceanbase.CDB_OB_TABLEGROUP_PARTITIONS
          • oceanbase.CDB_OB_TABLEGROUP_SUBPARTITIONS
          • oceanbase.CDB_OB_TABLEGROUP_TABLES
          • oceanbase.CDB_OB_TABLEGROUPS
          • oceanbase.CDB_OB_TABLET_CHECKSUM_ERROR_INFO
          • oceanbase.CDB_OB_TABLET_REPLICAS
          • oceanbase.CDB_OB_TABLET_TO_LS
          • oceanbase.CDB_OB_TABLE_SPACE_USAGE
          • oceanbase.CDB_OB_TEMP_FILES
          • oceanbase.CDB_OB_TENANT_EVENT_HISTORY
          • oceanbase.CDB_OB_TENANT_FLASHBACK_LOG_SCN
          • oceanbase.CDB_OB_TRANSFER_PARTITION_TASKS
          • oceanbase.CDB_OB_TRANSFER_PARTITION_TASK_HISTORY
          • oceanbase.CDB_OB_TRANSFER_TASK_HISTORY
          • oceanbase.CDB_OB_TRANSFER_TASKS
          • oceanbase.CDB_OB_TTL_TASKS
          • oceanbase.CDB_OB_TTL_TASK_HISTORY
          • oceanbase.CDB_OB_USERS
          • oceanbase.CDB_OB_VECTOR_INDEX_TASKS
          • oceanbase.CDB_OB_VECTOR_INDEX_TASK_HISTORY
          • oceanbase.CDB_OB_ZONE_MAJOR_COMPACTION
          • oceanbase.CDB_OBJECTS
          • oceanbase.CDB_PART_INDEXES
          • oceanbase.CDB_PART_KEY_COLUMNS
          • oceanbase.CDB_PART_TABLES
          • oceanbase.CDB_SCHEDULER_JOB_RUN_DETAILS
          • oceanbase.CDB_SUBPART_KEY_COLUMNS
          • oceanbase.CDB_SUBPARTITION_TEMPLATES
          • oceanbase.CDB_TAB_COL_STATISTICS
          • oceanbase.CDB_TAB_COLS
          • oceanbase.CDB_TAB_COLS_V$
          • oceanbase.CDB_TAB_PARTITIONS
          • oceanbase.CDB_TAB_SUBPARTITIONS
          • oceanbase.CDB_TABLES
          • oceanbase.CDB_WR_ACTIVE_SESSION_HISTORY
          • oceanbase.CDB_WR_CONTROL
          • oceanbase.CDB_WR_EVENT_NAME
          • oceanbase.CDB_WR_SNAPSHOT
          • oceanbase.CDB_WR_SQLSTAT
          • oceanbase.CDB_WR_SQLTEXT
          • oceanbase.CDB_WR_STATNAME
          • oceanbase.CDB_WR_SYS_TIME_MODEL
          • oceanbase.CDB_WR_SYSSTAT
          • oceanbase.CDB_WR_SYSTEM_EVENT
          • oceanbase.CDB_OB_EXTERNAL_RESOURCES
          • oceanbase.DBA_DB_LINKS
          • oceanbase.DBA_IND_PARTITIONS
          • oceanbase.DBA_IND_STATISTICS
          • oceanbase.DBA_IND_SUBPARTITIONS
          • oceanbase.DBA_INDEX_USAGE
          • oceanbase.DBA_MVIEW_DEPS
          • oceanbase.DBA_MVIEW_LOGS
          • oceanbase.DBA_MVIEW_RUNNING_JOBS
          • oceanbase.DBA_MVIEWS
          • DBA_MVREF_CHANGE_STATS
          • DBA_MVREF_RUN_STATS
          • DBA_MVREF_STATS
          • DBA_MVREF_STATS_PARAMS
          • DBA_MVREF_STATS_SYS_DEFAULTS
          • DBA_MVREF_STMT_STATS
          • oceanbase.DBA_OB_ACCESS_POINT
          • oceanbase.DBA_OB_AI_MODEL_ENDPOINTS
          • oceanbase.DBA_OB_AI_MODELS
          • oceanbase.DBA_OB_ARBITRATION_SERVICE
          • oceanbase.DBA_OB_ARCHIVE_DEST
          • oceanbase.DBA_OB_ARCHIVELOG
          • oceanbase.DBA_OB_ARCHIVELOG_PIECE_FILES
          • oceanbase.DBA_OB_ARCHIVELOG_SUMMARY
          • oceanbase.DBA_OB_AUTO_INCREMENT
          • DBA_OB_AUX_STATISTICS
          • oceanbase.DBA_OB_BACKUP_DELETE_JOB_HISTORY
          • oceanbase.DBA_OB_BACKUP_DELETE_JOBS
          • oceanbase.DBA_OB_BACKUP_DELETE_POLICY
          • oceanbase.DBA_OB_BACKUP_DELETE_TASK_HISTORY
          • oceanbase.DBA_OB_BACKUP_DELETE_TASKS
          • oceanbase.DBA_OB_BACKUP_JOB_HISTORY
          • oceanbase.DBA_OB_BACKUP_JOBS
          • oceanbase.DBA_OB_BACKUP_PARAMETER
          • oceanbase.DBA_OB_BACKUP_SET_FILES
          • oceanbase.DBA_OB_BACKUP_STORAGE_INFO
          • oceanbase.DBA_OB_BACKUP_STORAGE_INFO_HISTORY
          • oceanbase.DBA_OB_BACKUP_TASK_HISTORY
          • oceanbase.DBA_OB_BACKUP_TASKS
          • oceanbase.DBA_OB_BACKUP_VALIDATE_JOBS
          • oceanbase.DBA_OB_BACKUP_VALIDATE_JOB_HISTORY
          • oceanbase.DBA_OB_BACKUP_VALIDATE_TASKS
          • oceanbase.DBA_OB_BACKUP_VALIDATE_TASK_HISTORY
          • oceanbase.DBA_OB_BALANCE_JOB_HISTORY
          • oceanbase.DBA_OB_BALANCE_JOBS
          • oceanbase.DBA_OB_BALANCE_TASK_HISTORY
          • oceanbase.DBA_OB_BALANCE_TASKS
          • oceanbase.DBA_OB_CLONE_HISTORY
          • oceanbase.DBA_OB_CLONE_PROGRESS
          • oceanbase.DBA_OB_CLUSTER_EVENT_HISTORY
          • oceanbase.DBA_OB_CONCURRENT_LIMIT_SQL
          • oceanbase.DBA_OB_CCL_RULES
          • oceanbase.DBA_OB_CS_REPLICA_STATS
          • oceanbase.DBA_OB_DATA_DICTIONARY_IN_LOG
          • oceanbase.DBA_OB_DATABASE_PRIVILEGE
          • oceanbase.DBA_OB_DATABASES
          • oceanbase.DBA_OB_DEADLOCK_EVENT_HISTORY
          • oceanbase.DBA_OB_DYNAMIC_PARTITION_TABLES
          • oceanbase.DBA_OB_EXTERNAL_TABLE_FILES
          • oceanbase.DBA_OB_EXTERNAL_RESOURCES
          • DBA_OB_FORMAT_OUTLINES
          • oceanbase.DBA_OB_FREEZE_INFO
          • oceanbase.DBA_OB_IMPORT_TABLE_JOB_HISTORY
          • oceanbase.DBA_OB_IMPORT_TABLE_JOBS
          • oceanbase.DBA_OB_IMPORT_TABLE_TASK_HISTORY
          • oceanbase.DBA_OB_IMPORT_TABLE_TASKS
          • oceanbase.DBA_OB_KV_TTL_TASK_HISTORY
          • oceanbase.DBA_OB_KV_TTL_TASKS
          • oceanbase.DBA_OB_LOG_RESTORE_SOURCE
          • oceanbase.DBA_OB_LS
          • oceanbase.DBA_OB_LS_ARB_REPLICA_TASKS
          • oceanbase.DBA_OB_LS_ARB_REPLICA_TASK_HISTORY
          • oceanbase.DBA_OB_LS_HISTORY
          • oceanbase.DBA_OB_LS_LOCATIONS
          • oceanbase.DBA_OB_LS_LOG_ARCHIVE_PROGRESS
          • oceanbase.DBA_OB_LS_REPLICA_TASKS
          • oceanbase.DBA_OB_LS_REPLICA_TASK_HISTORY
          • oceanbase.DBA_OB_MAJOR_COMPACTION
          • oceanbase.DBA_OB_OUTLINE_CONCURRENT_HISTORY
          • oceanbase.DBA_OB_OUTLINES
          • oceanbase.DBA_OB_RECOVER_TABLE_JOB_HISTORY
          • oceanbase.DBA_OB_SERVICES
          • oceanbase.DBA_OB_RECOVER_TABLE_JOBS
          • oceanbase.DBA_OB_RESOURCE_POOLS
          • oceanbase.DBA_OB_RESTORE_HISTORY
          • oceanbase.DBA_OB_RESTORE_PROGRESS
          • oceanbase.DBA_OB_ROOTSERVICE_EVENT_HISTORY
          • oceanbase.DBA_OB_RSRC_IO_DIRECTIVES
          • oceanbase.DBA_OB_RSRC_DIRECTIVES
          • oceanbase.DBA_OB_SEQUENCE_OBJECTS
          • oceanbase.DBA_OB_SERVER_EVENT_HISTORY
          • oceanbase.DBA_OB_SERVER_JOBS
          • oceanbase.DBA_OB_SERVERS
          • oceanbase.DBA_OB_SS_SPACE_USAGE
          • oceanbase.DBA_OB_STORAGE_IO_USAGE
          • oceanbase.DBA_OB_SYS_VARIABLES
          • oceanbase.DBA_OB_TABLE_LOCATIONS
          • oceanbase.DBA_OB_TABLE_OPT_STAT_GATHER_HISTORY
          • oceanbase.DBA_OB_TABLE_STAT_STALE_INFO
          • oceanbase.DBA_OB_TABLEGROUP_PARTITIONS
          • oceanbase.DBA_OB_TABLEGROUP_SUBPARTITIONS
          • oceanbase.DBA_OB_TABLEGROUP_TABLES
          • oceanbase.DBA_OB_TABLEGROUPS
          • oceanbase.DBA_OB_TABLET_REPLICAS
          • oceanbase.DBA_OB_TABLET_TO_LS
          • oceanbase.DBA_OB_TASK_OPT_STAT_GATHER_HISTORY
          • oceanbase.DBA_OB_TEMP_FILES
          • oceanbase.DBA_OB_TENANT_EVENT_HISTORY
          • oceanbase.DBA_OB_TENANT_FLASHBACK_LOG_SCN
          • oceanbase.DBA_OB_TENANT_JOBS
          • oceanbase.DBA_OB_TENANTS
          • oceanbase.DBA_OB_TRANSFER_PARTITION_TASKS
          • oceanbase.DBA_OB_TRANSFER_PARTITION_TASK_HISTORY
          • oceanbase.DBA_OB_TRANSFER_TASK_HISTORY
          • oceanbase.DBA_OB_TRANSFER_TASKS
          • DBA_OB_TRUSTED_ROOT_CERTIFICATE
          • oceanbase.DBA_OB_TTL_TASKS
          • oceanbase.DBA_OB_TTL_TASK_HISTORY
          • oceanbase.DBA_OB_UNIT_CONFIGS
          • oceanbase.DBA_OB_UNIT_JOBS
          • oceanbase.DBA_OB_UNITS
          • oceanbase.DBA_OB_USER_DEFINED_RULES
          • oceanbase.DBA_OB_USERS
          • oceanbase.DBA_OB_VECTOR_INDEX_TASKS
          • oceanbase.DBA_OB_VECTOR_INDEX_TASK_HISTORY
          • oceanbase.DBA_OB_ZONE_MAJOR_COMPACTION
          • oceanbase.DBA_OB_ZONES
          • oceanbase.DBA_OB_ZONE_STORAGE
          • oceanbase.DBA_OBJECTS
          • oceanbase.DBA_PART_COL_STATISTICS
          • oceanbase.DBA_PART_HISTOGRAMS
          • oceanbase.DBA_PART_INDEXES
          • oceanbase.DBA_PART_KEY_COLUMNS
          • oceanbase.DBA_PART_TABLES
          • oceanbase.DBA_RECYCLEBIN
          • oceanbase.DBA_RSRC_CONSUMER_GROUPS
          • oceanbase.DBA_RSRC_GROUP_MAPPINGS
          • oceanbase.DBA_RSRC_PLAN_DIRECTIVES
          • oceanbase.DBA_RSRC_PLANS
          • oceanbase.DBA_SCHEDULER_JOBS
          • oceanbase.DBA_SCHEDULER_JOB_RUN_DETAILS
          • oceanbase.DBA_SCHEDULER_WINDOWS
          • oceanbase.DBA_SEQUENCES
          • oceanbase.DBA_SQL_MANAGEMENT_CONFIG
          • oceanbase.DBA_SQL_PLAN_BASELINES
          • oceanbase.DBA_SUBPART_COL_STATISTICS
          • oceanbase.DBA_SUBPART_HISTOGRAMS
          • oceanbase.DBA_SUBPART_KEY_COLUMNS
          • oceanbase.DBA_SUBPARTITION_TEMPLATES
          • oceanbase.DBA_TAB_COL_STATISTICS
          • oceanbase.DBA_TAB_HISTOGRAMS
          • oceanbase.DBA_TAB_MODIFICATIONS
          • oceanbase.DBA_TAB_PARTITIONS
          • oceanbase.DBA_TAB_STATISTICS
          • oceanbase.DBA_TAB_STATS_HISTORY
          • oceanbase.DBA_TAB_SUBPARTITIONS
          • oceanbase.DBA_TABLES
          • oceanbase.DBA_WR_ACTIVE_SESSION_HISTORY
          • oceanbase.DBA_WR_CONTROL
          • oceanbase.DBA_WR_EVENT_NAME
          • oceanbase.DBA_WR_SNAPSHOT
          • oceanbase.DBA_WR_SQLSTAT
          • oceanbase.DBA_WR_SQLTEXT
          • oceanbase.DBA_WR_STATNAME
          • oceanbase.DBA_WR_SYS_TIME_MODEL
          • oceanbase.DBA_WR_SYSSTAT
          • oceanbase.DBA_WR_SYSTEM_EVENT
        • Performance views
          • GV$ACTIVE_SESSION_HISTORY
          • GV$DML_STATS
          • GV$LATCH
          • GV$OB_ACTIVE_SESSION_HISTORY
          • GV$OB_COMPACTION_DIAGNOSE_INFO
          • GV$OB_COMPACTION_PROGRESS
          • GV$OB_COMPACTION_SUGGESTIONS
          • GV$OB_CGROUP_CONFIG
          • GV$OB_DTL_INTERM_RESULT_MONITOR
          • GV$OB_FLT_TRACE_CONFIG
          • GV$OB_FUNCTION_IO_STAT
          • GV$OB_GROUP_IO_STAT
          • GV$OB_HMS_CLIENT_POOL_STAT
          • GV$OB_HNSW_INDEX_INFO
          • GV$OB_HNSW_INDEX_SEGMENT_INFO
          • GV$OB_IO_BENCHMARK
          • GV$OB_IO_CALIBRATION_STATUS
          • GV$OB_IVF_INDEX_INFO
          • GV$OB_KVCACHE
          • GV$OB_KV_GROUP_COMMIT_STATUS
          • GV$OB_LOG_STAT
          • GV$OB_LOG_TRANSPORT_DEST_STAT
          • GV$OB_LS_SNAPSHOTS
          • GV$OB_MEMORY
          • GV$OB_MEMSTORE
          • GV$OB_MEMSTORE_INFO
          • GV$OB_MERGE_INFO
          • GV$OB_NIC_INFO
          • GV$OB_RPC_INCOMING
          • GV$OB_RPC_OUTGOING
          • GV$OB_PARAMETERS
          • GV$OB_PLAN_CACHE_PLAN_EXPLAIN
          • GV$OB_PLAN_CACHE_PLAN_STAT
          • GV$OB_PLAN_CACHE_STAT
          • GV$OB_PROCESSLIST
          • GV$OB_PS_ITEM_INFO
          • GV$OB_PS_STAT
          • GV$OB_PX_P2P_DATAHUB
          • GV$OB_PX_TARGET_MONITOR
          • GV$OB_PX_WORKER_STAT
          • GV$OB_QUERY_RESPONSE_TIME_HISTOGRAM
          • GV$OB_RES_MGR_SYSSTAT
          • GV$OB_SERVER_SCHEMA_INFO
          • GV$OB_SERVERS
          • GV$OB_SERVER_STORAGE
          • GV$OB_SESS_TIME_MODEL
          • GV$OB_SESSION
          • GV$OB_SHARED_STORAGE_QUOTA
          • GV$OB_SINDI_INDEX_INFO
          • GV$OB_SQL_AUDIT
          • GV$OB_SQL_CCL_STATUS
          • GV$SQL_JOIN_FILTER
          • GV$OB_SQL_PLAN
          • GV$SQL_PLAN_MONITOR
          • GV$OB_SQL_WORKAREA_MEMORY_INFO
          • GV$OB_SQLSTAT
          • GV$OB_SSTABLES
          • GV$OB_SS_LOCAL_CACHE
          • GV$OB_SS_LOCAL_CACHE_DIAGNOSE
          • GV$OB_SS_OBJECT_TYPE_IO_STAT
          • GV$OB_STORAGE_CACHE_TASKS
          • GV$OB_SYS_TIME_MODEL
          • GV$OB_TABLET_COMPACTION_HISTORY
          • GV$OB_TABLET_COMPACTION_PROGRESS
          • GV$OB_TABLET_LOCAL_CACHE
          • GV$OB_TABLET_REPLICA_INFO
          • GV$OB_TENANT_MEMORY
          • GV$OB_TENANT_RESOURCE_LIMIT
          • GV$OB_TENANT_RESOURCE_LIMIT_DETAIL
          • GV$OB_TENANT_RUNTIME_INFO
          • GV$OB_TRANSACTION_PARTICIPANTS
          • GV$OB_TRANSACTION_SCHEDULERS
          • GV$OB_UNITS
          • GV$OB_VECTOR_MEMORY
          • GV$SESSION_EVENT
          • GV$SESSION_LONGOPS
          • GV$SESSION_WAIT
          • GV$SESSION_WAIT_HISTORY
          • GV$SESSTAT
          • GV$SQL_WORKAREA
          • GV$SQL_WORKAREA_ACTIVE
          • GV$SQL_WORKAREA_HISTOGRAM
          • GV$SYSSTAT
          • GV$SYSTEM_EVENT
          • gv$tenant
          • gv$tenant_memstore_allocator_info
          • GV$OB_ARBITRATION_MEMBER_INFO
          • GV$OB_ARBITRATION_SERVICE_STATUS
          • GV$OB_KV_CLIENT_INFO
          • GV$OB_LOCKS
          • GV$OB_OPT_STAT_GATHER_MONITOR
          • GV$OB_THREAD
          • GV$OB_PL_CACHE_OBJECT
          • GV$UNIT
          • V$OB_PL_CACHE_OBJECT
          • V$ACTIVE_SESSION_HISTORY
          • V$DML_STATS
          • V$ENCRYPTED_TABLESPACES
          • V$EVENT_NAME
          • V$LATCH
          • V$OB_ACTIVE_SESSION_HISTORY
          • V$OB_ARCHIVE_DEST_STATUS
          • V$OB_COMPACTION_DIAGNOSE_INFO
          • V$OB_COMPACTION_PROGRESS
          • V$OB_COMPACTION_SUGGESTIONS
          • V$OB_COMPATIBILITY_CONTROL
          • V$OB_CGROUP_CONFIG
          • V$OB_DTL_INTERM_RESULT_MONITOR
          • V$OB_DYNAMIC_PARTITION_TABLES
          • V$OB_ENCRYPTED_TABLES
          • V$OB_FUNCTION_IO_STAT
          • V$OB_GROUP_IO_STAT
          • V$OB_HMS_CLIENT_POOL_STAT
          • V$OB_IO_BENCHMARK
          • V$OB_HNSW_INDEX_INFO
          • V$OB_HNSW_INDEX_SEGMENT_INFO
          • V$OB_IO_CALIBRATION_STATUS
          • V$OB_IVF_INDEX_INFO
          • V$OB_KVCACHE
          • V$OB_KV_CLIENT_INFO
          • V$OB_KV_GROUP_COMMIT_STATUS
          • V$OB_LOG_STAT
          • V$OB_LOG_TRANSPORT_DEST_STAT
          • V$OB_LS_LOG_RESTORE_STATUS
          • V$OB_LS_REPLICA_TASK_PLAN
          • V$OB_LS_SNAPSHOTS
          • V$OB_MEMORY
          • V$OB_MEMSTORE
          • V$OB_MEMSTORE_INFO
          • V$OB_MERGE_INFO
          • V$OB_NIC_INFO
          • V$OB_RPC_INCOMING
          • V$OB_RPC_OUTGOING
          • V$OB_PARAMETERS
          • V$OB_PLAN_CACHE_PLAN_EXPLAIN
          • V$OB_PLAN_CACHE_PLAN_STAT
          • V$OB_PLAN_CACHE_STAT
          • V$OB_PROCESSLIST
          • V$OB_PS_ITEM_INFO
          • V$OB_PS_STAT
          • V$OB_PX_P2P_DATAHUB
          • V$OB_PX_TARGET_MONITOR
          • V$OB_PX_WORKER_STAT
          • V$OB_QUERY_RESPONSE_TIME_HISTOGRAM
          • V$OB_RES_MGR_SYSSTAT
          • V$OB_SERVER_SCHEMA_INFO
          • V$OB_SERVERS
          • V$OB_SERVER_STORAGE
          • V$OB_SESS_TIME_MODEL
          • V$OB_SESSION
          • V$SESSION_EVENT
          • V$OB_SHARED_STORAGE_QUOTA
          • V$OB_SINDI_INDEX_INFO
          • V$OB_SQL_AUDIT
          • V$OB_SQL_CCL_STATUS
          • V$SQL_JOIN_FILTER
          • V$OB_SQL_PLAN
          • V$OB_SQL_WORKAREA_MEMORY_INFO
          • V$OB_SQLSTAT
          • V$OB_SS_SSTABLES
          • V$OB_SSTABLES
          • V$OB_SS_LOCAL_CACHE
          • V$OB_SS_LOCAL_CACHE_DIAGNOSE
          • V$OB_SS_OBJECT_TYPE_IO_STAT
          • V$OB_STORAGE_CACHE_TASKS
          • V$OB_SYS_TIME_MODEL
          • V$OB_TABLET_COMPACTION_HISTORY
          • V$OB_TABLET_COMPACTION_PROGRESS
          • V$OB_TABLET_LOCAL_CACHE
          • V$OB_TABLET_REPLICA_INFO
          • V$OB_TENANT_MEMORY
          • V$OB_TENANT_RESOURCE_LIMIT
          • V$OB_TENANT_RESOURCE_LIMIT_DETAIL
          • V$OB_TENANT_RUNTIME_INFO
          • V$OB_TIMESTAMP_SERVICE
          • V$OB_TRANSACTION_PARTICIPANTS
          • V$OB_TRANSACTION_SCHEDULERS
          • V$OB_UNITS
          • V$RESTORE_POINT
          • V$RSRC_PLAN
          • V$SESSION_LONGOPS
          • V$SESSION_WAIT
          • V$SESSION_WAIT_HISTORY
          • V$SESSTAT
          • V$SQL_MONITOR_STATNAME
          • V$SQL_PLAN_MONITOR
          • V$SQL_WORKAREA
          • V$SQL_WORKAREA_ACTIVE
          • V$SQL_WORKAREA_HISTOGRAM
          • V$STATNAME
          • V$SYSSTAT
          • V$SYSTEM_EVENT
          • V$OB_ARBITRATION_MEMBER_INFO
          • V$OB_ARBITRATION_SERVICE_STATUS
          • V$OB_LOCKS
          • V$OB_OPT_STAT_GATHER_MONITOR
          • V$OB_THREAD
          • V$OB_VECTOR_MEMORY
          • v$tenant_memstore_allocator_info
          • V$UNIT
      • MySQL tenant views
        • Dictionary views
          • information_schema.CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS
          • information_schema.CHARACTER_SETS
          • information_schema.CHECK_CONSTRAINTS
          • information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
          • information_schema.COLLATIONS
          • information_schema.COLUMN_PRIVILEGES
          • information_schema.COLUMNS
          • information_schema.ENGINES
          • information_schema.events
          • information_schema.GLOBAL_STATUS
          • information_schema.GLOBAL_VARIABLES
          • information_schema.KEY_COLUMN_USAGE
          • information_schema.PARAMETERS
          • information_schema.PARTITIONS
          • information_schema.PROCESSLIST
          • information_schema.QUERY_RESPONSE_TIME
          • information_schema.REFERENTIAL_CONSTRAINTS
          • information_schema.role_table_grants
          • information_schema.role_column_grants
          • information_schema.role_routine_grants
          • information_schema.ROUTINES
          • information_schema.SCHEMA_PRIVILEGES
          • information_schema.SCHEMATA
          • information_schema.SESSION_STATUS
          • information_schema.SESSION_VARIABLES
          • information_schema.ST_GEOMETRY_COLUMNS
          • information_schema.ST_SPATIAL_REFERENCE_SYSTEMS
          • information_schema.STATISTICS
          • information_schema.TABLE_CONSTRAINTS
          • information_schema.TABLE_PRIVILEGES
          • information_schema.TABLES
          • information_schema.USER_PRIVILEGES
          • information_schema.VIEW_TABLE_USAGE
          • information_schema.VIEWS
          • mysql.audit_log_filter
          • mysql.audit_log_user
          • mysql.columns_priv
          • mysql.db
          • mysql.default_roles
          • mysql.help_category
          • mysql.help_keyword
          • mysql.help_relation
          • mysql.help_topic
          • mysql.proc
          • mysql.procs_priv
          • mysql.role_edges
          • mysql.time_zone
          • mysql.time_zone_name
          • mysql.time_zone_transition
          • mysql.time_zone_transition_type
          • mysql.user
          • oceanbase.ALL_OB_EXTERNAL_TABLE_FILES
          • oceanbase.DBA_DB_LINKS
          • oceanbase.DBA_IND_PARTITIONS
          • oceanbase.DBA_IND_STATISTICS
          • oceanbase.DBA_IND_SUBPARTITIONS
          • oceanbase.DBA_INDEX_USAGE
          • oceanbase.DBA_MVIEW_DEPS
          • oceanbase.DBA_MVIEW_LOGS
          • oceanbase.DBA_MVIEW_RUNNING_JOBS
          • oceanbase.DBA_MVIEWS
          • DBA_MVREF_CHANGE_STATS
          • DBA_MVREF_RUN_STATS
          • DBA_MVREF_STATS
          • DBA_MVREF_STATS_PARAMS
          • DBA_MVREF_STATS_SYS_DEFAULTS
          • DBA_MVREF_STMT_STATS
          • oceanbase.DBA_OB_ACCESS_POINT
          • oceanbase.DBA_OB_AI_MODEL_ENDPOINTS
          • oceanbase.DBA_OB_AI_MODELS
          • oceanbase.DBA_OB_ARCHIVE_DEST
          • oceanbase.DBA_OB_ARCHIVELOG
          • oceanbase.DBA_OB_ARCHIVELOG_PIECE_FILES
          • oceanbase.DBA_OB_ARCHIVELOG_SUMMARY
          • oceanbase.DBA_OB_AUTO_INCREMENT
          • DBA_OB_AUX_STATISTICS
          • oceanbase.DBA_OB_BACKUP_DELETE_JOB_HISTORY
          • oceanbase.DBA_OB_BACKUP_DELETE_JOBS
          • oceanbase.DBA_OB_BACKUP_DELETE_POLICY
          • oceanbase.DBA_OB_BACKUP_DELETE_TASK_HISTORY
          • oceanbase.DBA_OB_BACKUP_DELETE_TASKS
          • oceanbase.DBA_OB_BACKUP_JOB_HISTORY
          • oceanbase.DBA_OB_BACKUP_JOBS
          • oceanbase.DBA_OB_BACKUP_PARAMETER
          • oceanbase.DBA_OB_BACKUP_SET_FILES
          • oceanbase.DBA_OB_BACKUP_STORAGE_INFO
          • oceanbase.DBA_OB_BACKUP_STORAGE_INFO_HISTORY
          • oceanbase.DBA_OB_BACKUP_TASK_HISTORY
          • oceanbase.DBA_OB_BACKUP_TASKS
          • oceanbase.DBA_OB_BACKUP_VALIDATE_JOBS
          • oceanbase.DBA_OB_BACKUP_VALIDATE_JOB_HISTORY
          • oceanbase.DBA_OB_BACKUP_VALIDATE_TASKS
          • oceanbase.DBA_OB_BACKUP_VALIDATE_TASK_HISTORY
          • oceanbase.DBA_OB_BALANCE_JOB_HISTORY
          • oceanbase.DBA_OB_BALANCE_JOBS
          • oceanbase.DBA_OB_BALANCE_TASK_HISTORY
          • oceanbase.DBA_OB_BALANCE_TASKS
          • oceanbase.DBA_OB_CONCURRENT_LIMIT_SQL
          • oceanbase.DBA_OB_CCL_RULES
          • oceanbase.DBA_OB_CS_REPLICA_STATS
          • oceanbase.DBA_OB_DATA_DICTIONARY_IN_LOG
          • oceanbase.DBA_OB_DATABASE_PRIVILEGE
          • oceanbase.DBA_OB_DATABASES
          • oceanbase.DBA_OB_DEADLOCK_EVENT_HISTORY
          • oceanbase.DBA_OB_DYNAMIC_PARTITION_TABLES
          • oceanbase.DBA_OB_EXTERNAL_TABLE_FILES
          • oceanbase.DBA_OB_EXTERNAL_RESOURCES
          • DBA_OB_FORMAT_OUTLINES
          • oceanbase.DBA_OB_FREEZE_INFO
          • oceanbase.DBA_OB_IMPORT_TABLE_JOB_HISTORY
          • oceanbase.DBA_OB_IMPORT_TABLE_JOBS
          • oceanbase.DBA_OB_IMPORT_TABLE_TASK_HISTORY
          • oceanbase.DBA_OB_IMPORT_TABLE_TASKS
          • oceanbase.DBA_OB_KV_TTL_TASK_HISTORY
          • oceanbase.DBA_OB_KV_TTL_TASKS
          • oceanbase.DBA_OB_LOG_RESTORE_SOURCE
          • oceanbase.DBA_OB_LS
          • oceanbase.DBA_OB_LS_ARB_REPLICA_TASKS
          • oceanbase.DBA_OB_LS_ARB_REPLICA_TASK_HISTORY
          • oceanbase.DBA_OB_LS_HISTORY
          • oceanbase.DBA_OB_LS_LOCATIONS
          • oceanbase.DBA_OB_LS_LOG_ARCHIVE_PROGRESS
          • oceanbase.DBA_OB_LS_REPLICA_TASKS
          • oceanbase.DBA_OB_LS_REPLICA_TASK_HISTORY
          • oceanbase.DBA_OB_MAJOR_COMPACTION
          • oceanbase.DBA_OB_OBJECT_BALANCE_WEIGHT
          • oceanbase.DBA_OB_OUTLINE_CONCURRENT_HISTORY
          • oceanbase.DBA_OB_OUTLINES
          • oceanbase.DBA_OB_RECOVER_TABLE_JOB_HISTORY
          • oceanbase.DBA_OB_RECOVER_TABLE_JOBS
          • oceanbase.DBA_OB_SERVICES
          • oceanbase.DBA_OB_RESTORE_HISTORY
          • oceanbase.DBA_OB_RESTORE_PROGRESS
          • oceanbase.DBA_OB_RSRC_IO_DIRECTIVES
          • oceanbase.DBA_OB_RSRC_DIRECTIVES
          • oceanbase.DBA_OB_SENSITIVE_COLUMNS
          • oceanbase.DBA_OB_SENSITIVE_RULE_PLAINACCESS_USERS
          • oceanbase.DBA_OB_SENSITIVE_RULES
          • oceanbase.DBA_OB_SEQUENCE_OBJECTS
          • oceanbase.DBA_OB_SS_SPACE_USAGE
          • oceanbase.DBA_OB_STORAGE_IO_USAGE
          • oceanbase.DBA_OB_SYS_VARIABLES
          • oceanbase.DBA_OB_TABLE_LOCATIONS
          • oceanbase.DBA_OB_TABLE_OPT_STAT_GATHER_HISTORY
          • oceanbase.DBA_OB_TABLE_STAT_STALE_INFO
          • oceanbase.DBA_OB_TABLEGROUP_PARTITIONS
          • oceanbase.DBA_OB_TABLEGROUP_SUBPARTITIONS
          • oceanbase.DBA_OB_TABLEGROUP_TABLES
          • oceanbase.DBA_OB_TABLEGROUPS
          • oceanbase.DBA_OB_TABLET_REPLICAS
          • oceanbase.DBA_OB_TABLE_SPACE_USAGE
          • oceanbase.DBA_OB_TABLET_TO_LS
          • oceanbase.DBA_OB_TASK_OPT_STAT_GATHER_HISTORY
          • oceanbase.DBA_OB_TENANT_EVENT_HISTORY
          • oceanbase.DBA_OB_TENANTS
          • oceanbase.DBA_OB_TEMP_FILES
          • oceanbase.DBA_OB_TRANSFER_PARTITION_TASKS
          • oceanbase.DBA_OB_TRANSFER_PARTITION_TASK_HISTORY
          • oceanbase.DBA_OB_TRANSFER_TASK_HISTORY
          • oceanbase.DBA_OB_TRANSFER_TASKS
          • oceanbase.DBA_OB_USER_DEFINED_RULES
          • oceanbase.DBA_OB_USERS
          • oceanbase.DBA_OB_VECTOR_INDEX_TASKS
          • oceanbase.DBA_OB_VECTOR_INDEX_TASK_HISTORY
          • oceanbase.DBA_OB_ZONE_MAJOR_COMPACTION
          • oceanbase.DBA_OBJECTS
          • oceanbase.DBA_PART_COL_STATISTICS
          • oceanbase.DBA_PART_HISTOGRAMS
          • oceanbase.DBA_PART_INDEXES
          • oceanbase.DBA_PART_KEY_COLUMNS
          • oceanbase.DBA_PART_TABLES
          • oceanbase.DBA_RECYCLEBIN
          • oceanbase.DBA_RSRC_CONSUMER_GROUPS
          • oceanbase.DBA_RSRC_GROUP_MAPPINGS
          • oceanbase.DBA_RSRC_PLAN_DIRECTIVES
          • oceanbase.DBA_RSRC_PLANS
          • oceanbase.DBA_SCHEDULER_JOBS
          • oceanbase.DBA_SCHEDULER_JOB_RUN_DETAILS
          • oceanbase.DBA_SCHEDULER_WINDOWS
          • oceanbase.DBA_SEQUENCES
          • oceanbase.DBA_SQL_MANAGEMENT_CONFIG
          • oceanbase.DBA_SQL_PLAN_BASELINES
          • oceanbase.DBA_SUBPART_COL_STATISTICS
          • oceanbase.DBA_SUBPART_HISTOGRAMS
          • oceanbase.DBA_SUBPART_KEY_COLUMNS
          • oceanbase.DBA_SUBPARTITION_TEMPLATES
          • oceanbase.DBA_TAB_COL_STATISTICS
          • oceanbase.DBA_TAB_HISTOGRAMS
          • oceanbase.DBA_TAB_MODIFICATIONS
          • oceanbase.DBA_TAB_PARTITIONS
          • oceanbase.DBA_TAB_STATISTICS
          • oceanbase.DBA_TAB_STATS_HISTORY
          • oceanbase.DBA_TAB_SUBPARTITIONS
          • oceanbase.DBA_TABLES
          • oceanbase.DBA_OB_TENANT_FLASHBACK_LOG_SCN
          • oceanbase.DBA_OB_TTL_TASKS
          • oceanbase.DBA_OB_TTL_TASK_HISTORY
          • oceanbase.DBA_WR_ACTIVE_SESSION_HISTORY
          • oceanbase.DBA_WR_CONTROL
          • oceanbase.DBA_WR_EVENT_NAME
          • oceanbase.DBA_WR_SNAPSHOT
          • oceanbase.DBA_WR_SQLSTAT
          • oceanbase.DBA_WR_SQLTEXT
          • oceanbase.DBA_WR_STATNAME
          • oceanbase.DBA_WR_SYS_TIME_MODEL
          • oceanbase.DBA_WR_SYSSTAT
          • oceanbase.DBA_WR_SYSTEM_EVENT
        • Performance views
          • GV$ACTIVE_SESSION_HISTORY
          • GV$DML_STATS
          • GV$LATCH
          • GV$OB_ACTIVE_SESSION_HISTORY
          • GV$OB_COMPACTION_DIAGNOSE_INFO
          • GV$OB_COMPACTION_PROGRESS
          • GV$OB_COMPACTION_SUGGESTIONS
          • GV$OB_CGROUP_CONFIG
          • GV$OB_DTL_INTERM_RESULT_MONITOR
          • GV$OB_FLT_TRACE_CONFIG
          • GV$OB_FUNCTION_IO_STAT
          • GV$OB_GROUP_IO_STAT
          • GV$OB_HMS_CLIENT_POOL_STAT
          • GV$OB_HNWS_INDEX_INFO
          • GV$OB_IVF_INDEX_INFO
          • GV$OB_HNSW_INDEX_SEGMENT_INFO
          • GV$OB_KVCACHE
          • GV$OB_KV_CLIENT_INFO
          • GV$OB_KV_GROUP_COMMIT_STATUS
          • GV$OB_LOG_STAT
          • GV$OB_LOG_TRANSPORT_DEST_STAT
          • GV$OB_LS_SNAPSHOTS
          • GV$OB_MEMORY
          • GV$OB_MEMSTORE
          • GV$OB_MEMSTORE_INFO
          • GV$OB_MERGE_INFO
          • GV$OB_NIC_INFO
          • GV$OB_RPC_INCOMING
          • GV$OB_RPC_OUTGOING
          • GV$OB_PARAMETERS
          • GV$OB_PLAN_CACHE_PLAN_EXPLAIN
          • GV$OB_PLAN_CACHE_PLAN_STAT
          • GV$OB_PLAN_CACHE_STAT
          • GV$OB_PROCESSLIST
          • GV$OB_PS_ITEM_INFO
          • GV$OB_PS_STAT
          • GV$OB_PX_P2P_DATAHUB
          • GV$OB_PX_TARGET_MONITOR
          • GV$OB_PX_WORKER_STAT
          • GV$OB_QUERY_RESPONSE_TIME_HISTOGRAM
          • GV$OB_RES_MGR_SYSSTAT
          • GV$OB_SERVER_SCHEMA_INFO
          • GV$OB_SESS_TIME_MODEL
          • GV$OB_SESSION
          • GV$OB_SHARED_STORAGE_QUOTA
          • GV$OB_SINDI_INDEX_INFO
          • GV$OB_SQL_AUDIT
          • GV$OB_SQL_CCL_STATUS
          • GV$SQL_JOIN_FILTER
          • GV$OB_SQL_PLAN
          • GV$OB_SQL_WORKAREA_MEMORY_INFO
          • GV$OB_SQLSTAT
          • GV$OB_SSTABLES
          • GV$OB_SS_LOCAL_CACHE
          • GV$OB_SS_LOCAL_CACHE_DIAGNOSE
          • GV$OB_SS_OBJECT_TYPE_IO_STAT
          • GV$OB_STORAGE_CACHE_TASKS
          • GV$OB_SYS_TIME_MODEL
          • GV$OB_TABLET_COMPACTION_HISTORY
          • GV$OB_TABLET_COMPACTION_PROGRESS
          • GV$OB_TABLET_LOCAL_CACHE
          • GV$OB_TENANT_MEMORY
          • GV$OB_TENANT_RESOURCE_LIMIT
          • GV$OB_TENANT_RESOURCE_LIMIT_DETAIL
          • GV$OB_TRANSACTION_PARTICIPANTS
          • GV$OB_TRANSACTION_SCHEDULERS
          • GV$OB_UNITS
          • GV$OB_VECTOR_MEMORY
          • GV$SESSION_EVENT
          • GV$SESSION_LONGOPS
          • GV$SESSION_WAIT
          • GV$SESSION_WAIT_HISTORY
          • GV$SESSTAT
          • GV$SQL_PLAN_MONITOR
          • GV$SQL_WORKAREA
          • GV$SQL_WORKAREA_ACTIVE
          • GV$SQL_WORKAREA_HISTOGRAM
          • GV$SYSSTAT
          • GV$SYSTEM_EVENT
          • GV$OB_ARBITRATION_MEMBER_INFO
          • GV$OB_ARBITRATION_SERVICE_STATUS
          • GV$OB_LOCKS
          • GV$OB_OPT_STAT_GATHER_MONITOR
          • GV$OB_THREAD
          • GV$OB_PL_CACHE_OBJECT
          • V$OB_PL_CACHE_OBJECT
          • V$ACTIVE_SESSION_HISTORY
          • V$DML_STATS
          • V$EVENT_NAME
          • V$LATCH
          • V$OB_ACTIVE_SESSION_HISTORY
          • V$OB_ARCHIVE_DEST_STATUS
          • V$OB_COMPACTION_DIAGNOSE_INFO
          • V$OB_COMPACTION_PROGRESS
          • V$OB_COMPACTION_SUGGESTIONS
          • V$OB_COMPATIBILITY_CONTROL
          • V$OB_CGROUP_CONFIG
          • V$OB_DTL_INTERM_RESULT_MONITOR
          • V$OB_DYNAMIC_PARTITION_TABLES
          • V$OB_ENCRYPTED_TABLES
          • V$ENCRYPTED_TABLESPACES
          • V$OB_FUNCTION_IO_STAT
          • V$OB_GROUP_IO_STAT
          • V$OB_HMS_CLIENT_POOL_STAT
          • V$OB_HNWS_INDEX_INFO
          • V$OB_HNSW_INDEX_SEGMENT_INFO
          • V$OB_IVF_INDEX_INFO
          • V$OB_KVCACHE
          • V$OB_KV_CLIENT_INFO
          • V$OB_KV_GROUP_COMMIT_STATUS
          • V$OB_LOG_STAT
          • V$OB_LOG_TRANSPORT_DEST_STAT
          • V$OB_LS_LOG_RESTORE_STATUS
          • V$OB_LS_REPLICA_TASK_PLAN
          • V$OB_LS_SNAPSHOTS
          • V$OB_MEMORY
          • V$OB_MEMSTORE
          • V$OB_MEMSTORE_INFO
          • V$OB_MERGE_INFO
          • V$OB_NIC_INFO
          • V$OB_RPC_INCOMING
          • V$OB_RPC_OUTGOING
          • V$OB_PARAMETERS
          • V$OB_PLAN_CACHE_PLAN_EXPLAIN
          • V$OB_PLAN_CACHE_PLAN_STAT
          • V$OB_PLAN_CACHE_STAT
          • V$OB_PROCESSLIST
          • V$OB_PS_ITEM_INFO
          • V$OB_PS_STAT
          • V$OB_PX_P2P_DATAHUB
          • V$OB_PX_TARGET_MONITOR
          • V$OB_PX_WORKER_STAT
          • V$OB_QUERY_RESPONSE_TIME_HISTOGRAM
          • V$OB_RES_MGR_SYSSTAT
          • V$RSRC_PLAN
          • V$OB_SERVER_SCHEMA_INFO
          • V$OB_SESS_TIME_MODEL
          • V$OB_SESSION
          • V$SESSION_EVENT
          • V$OB_SHARED_STORAGE_QUOTA
          • V$OB_SINDI_INDEX_INFO
          • V$OB_SQL_AUDIT
          • V$OB_SQL_CCL_STATUS
          • V$SQL_JOIN_FILTER
          • V$OB_SQL_PLAN
          • V$OB_SQL_WORKAREA_MEMORY_INFO
          • V$OB_SQLSTAT
          • V$OB_SS_SSTABLES
          • V$OB_SSTABLES
          • V$OB_SS_LOCAL_CACHE
          • V$OB_SS_LOCAL_CACHE_DIAGNOSE
          • V$OB_SS_OBJECT_TYPE_IO_STAT
          • V$OB_STORAGE_CACHE_TASKS
          • V$OB_SYS_TIME_MODEL
          • V$OB_TABLET_COMPACTION_HISTORY
          • V$OB_TABLET_COMPACTION_PROGRESS
          • V$OB_TABLET_LOCAL_CACHE
          • V$OB_TENANT_MEMORY
          • V$OB_TENANT_RESOURCE_LIMIT
          • V$OB_TENANT_RESOURCE_LIMIT_DETAIL
          • V$OB_TIMESTAMP_SERVICE
          • V$OB_TRANSACTION_PARTICIPANTS
          • V$OB_TRANSACTION_SCHEDULERS
          • V$OB_UNITS
          • V$OB_VECTOR_MEMORY
          • V$RESTORE_POINT
          • V$SESSION_LONGOPS
          • V$SESSION_WAIT
          • V$SESSION_WAIT_HISTORY
          • V$SESSTAT
          • V$SQL_MONITOR_STATNAME
          • V$SQL_PLAN_MONITOR
          • V$SQL_WORKAREA
          • V$SQL_WORKAREA_ACTIVE
          • V$SQL_WORKAREA_HISTOGRAM
          • V$STATNAME
          • V$SYSSTAT
          • V$SYSTEM_EVENT
          • V$OB_ARBITRATION_MEMBER_INFO
          • V$OB_ARBITRATION_SERVICE_STATUS
          • V$OB_LOCKS
          • V$OB_OPT_STAT_GATHER_MONITOR
          • V$OB_THREAD
      • Oracle tenant views
        • Dictionary views
          • ALL_ALL_TABLES
          • ALL_ARGUMENTS
          • ALL_COL_COMMENTS
          • ALL_COL_PRIVS
          • ALL_COLL_TYPES
          • ALL_CONS_COLUMNS
          • ALL_CONSTRAINTS
          • ALL_DB_LINKS
          • ALL_DEF_AUDIT_OPTS
          • ALL_DEPENDENCIES
          • ALL_DIRECTORIES
          • ALL_ERRORS
          • ALL_IND_COLUMNS
          • ALL_IND_EXPRESSIONS
          • ALL_IND_PARTITIONS
          • ALL_IND_STATISTICS
          • ALL_IND_SUBPARTITIONS
          • ALL_INDEXES
          • ALL_METHOD_PARAMS
          • ALL_MVIEW_LOGS
          • ALL_MVIEWS
          • ALL_OB_EXTERNAL_TABLE_FILES
          • ALL_OBJECTS
          • ALL_PART_COL_STATISTICS
          • ALL_PART_HISTOGRAMS
          • ALL_PART_INDEXES
          • ALL_PLSQL_TYPES
          • ALL_PLSQL_COLL_TYPES
          • ALL_PLSQL_TYPE_ATTRS
          • ALL_PART_KEY_COLUMNS
          • ALL_PART_TABLES
          • ALL_POLICIES
          • ALL_POLICY_CONTEXTS
          • ALL_POLICY_GROUPS
          • ALL_PROCEDURES
          • ALL_PROFILES
          • ALL_SCHEDULER_JOB_ARGS
          • ALL_SCHEDULER_PROGRAM_ARGS
          • ALL_SCHEDULER_WINDOWS
          • ALL_SEC_RELEVANT_COLS
          • ALL_SEQUENCES
          • ALL_SOURCE
          • ALL_SUBPART_COL_STATISTICS
          • ALL_SUBPART_HISTOGRAMS
          • ALL_SUBPART_KEY_COLUMNS
          • ALL_SUBPARTITION_TEMPLATES
          • ALL_SYNONYMS
          • ALL_TAB_COL_STATISTICS
          • ALL_TAB_COLS
          • ALL_TAB_COLUMNS
          • ALL_TAB_COMMENTS
          • ALL_TAB_HISTOGRAMS
          • ALL_TAB_MODIFICATIONS
          • ALL_TAB_PARTITIONS
          • ALL_TAB_PRIVS
          • ALL_TAB_STATISTICS
          • ALL_TAB_STATS_HISTORY
          • ALL_TAB_SUBPARTITIONS
          • ALL_TABLES
          • ALL_TRIGGER_ORDERING
          • ALL_TRIGGERS
          • ALL_TYPE_ATTRS
          • ALL_TYPE_METHODS
          • ALL_TYPES
          • ALL_USERS
          • ALL_VIEWS
          • AUDIT_ACTIONS
          • DBA_ALL_TABLES
          • DBA_ARGUMENTS
          • DBA_AUDIT_EXISTS
          • DBA_AUDIT_OBJECT
          • DBA_AUDIT_SESSION
          • DBA_AUDIT_STATEMENT
          • DBA_AUDIT_TRAIL
          • DBA_COL_COMMENTS
          • DBA_COL_PRIVS
          • DBA_COLL_TYPES
          • DBA_CONS_COLUMNS
          • DBA_CONSTRAINTS
          • DBA_CONTEXT
          • DBA_DB_LINKS
          • DBA_DEPENDENCIES
          • DBA_DIRECTORIES
          • DBA_ERRORS
          • DBA_IND_COLUMNS
          • DBA_IND_EXPRESSIONS
          • DBA_IND_PARTITIONS
          • DBA_IND_STATISTICS
          • DBA_IND_SUBPARTITIONS
          • DBA_INDEX_USAGE
          • DBA_INDEXES
          • DBA_JOBS
          • DBA_JOBS_RUNNING
          • DBA_METHOD_PARAMS
          • DBA_MVIEW_DEPS
          • DBA_MVIEW_LOGS
          • DBA_MVIEW_RUNNING_JOBS
          • DBA_MVIEWS
          • DBA_MVREF_CHANGE_STATS
          • DBA_MVREF_RUN_STATS
          • DBA_MVREF_STATS
          • DBA_MVREF_STATS_PARAMS
          • DBA_MVREF_STATS_SYS_DEFAULTS
          • DBA_MVREF_STMT_STATS
          • DBA_OB_ACCESS_POINT
          • DBA_OB_ARCHIVE_DEST
          • DBA_OB_ARCHIVELOG
          • DBA_OB_ARCHIVELOG_PIECE_FILES
          • DBA_OB_ARCHIVELOG_SUMMARY
          • DBA_OB_AUX_STATISTICS
          • DBA_OB_BACKUP_DELETE_JOB_HISTORY
          • DBA_OB_BACKUP_DELETE_JOBS
          • DBA_OB_BACKUP_DELETE_POLICY
          • DBA_OB_BACKUP_DELETE_TASK_HISTORY
          • DBA_OB_BACKUP_DELETE_TASKS
          • DBA_OB_BACKUP_JOB_HISTORY
          • DBA_OB_BACKUP_JOBS
          • DBA_OB_BACKUP_PARAMETER
          • DBA_OB_BACKUP_SET_FILES
          • DBA_OB_BACKUP_STORAGE_INFO
          • DBA_OB_BACKUP_STORAGE_INFO_HISTORY
          • DBA_OB_BACKUP_TASK_HISTORY
          • DBA_OB_BACKUP_TASKS
          • DBA_OB_BACKUP_VALIDATE_JOBS
          • DBA_OB_BACKUP_VALIDATE_JOB_HISTORY
          • DBA_OB_BACKUP_VALIDATE_TASKS
          • DBA_OB_BACKUP_VALIDATE_TASK_HISTORY
          • DBA_OB_BALANCE_JOB_HISTORY
          • DBA_OB_BALANCE_JOBS
          • DBA_OB_BALANCE_TASK_HISTORY
          • DBA_OB_BALANCE_TASKS
          • DBA_OB_CONCURRENT_LIMIT_SQL
          • DBA_OB_CS_REPLICA_STATS
          • DBA_OB_CCL_RULES
          • DBA_OB_DATA_DICTIONARY_IN_LOG
          • DBA_OB_DATABASE_PRIVILEGE
          • DBA_OB_DATABASES
          • DBA_OB_DEADLOCK_EVENT_HISTORY
          • DBA_OB_DYNAMIC_PARTITION_TABLES
          • DBA_OB_EXTERNAL_TABLE_FILES
          • DBA_OB_FORMAT_OUTLINES
          • DBA_OB_FREEZE_INFO
          • DBA_OB_IMPORT_TABLE_JOB_HISTORY
          • DBA_OB_IMPORT_TABLE_JOBS
          • DBA_OB_IMPORT_TABLE_TASK_HISTORY
          • DBA_OB_IMPORT_TABLE_TASKS
          • DBA_OB_LOG_RESTORE_SOURCE
          • DBA_OB_LS
          • DBA_OB_LS_ARB_REPLICA_TASKS
          • DBA_OB_LS_ARB_REPLICA_TASK_HISTORY
          • DBA_OB_LS_HISTORY
          • DBA_OB_LS_LOCATIONS
          • DBA_OB_LS_LOG_ARCHIVE_PROGRESS
          • DBA_OB_SENSITIVE_COLUMNS
          • DBA_OB_SENSITIVE_RULE_PLAINACCESS_USERS
          • DBA_OB_SENSITIVE_RULES
          • DBA_OB_SERVICES
          • DBA_OB_LS_REPLICA_TASKS
          • DBA_OB_LS_REPLICA_TASK_HISTORY
          • DBA_OB_MAJOR_COMPACTION
          • DBA_OB_OBJECT_BALANCE_WEIGHT
          • DBA_OB_OUTLINE_CONCURRENT_HISTORY
          • DBA_OB_OUTLINES
          • DBA_OB_RECOVER_TABLE_JOB_HISTORY
          • DBA_OB_RECOVER_TABLE_JOBS
          • DBA_OB_RESTORE_HISTORY
          • DBA_OB_RESTORE_PROGRESS
          • DBA_OB_RSRC_IO_DIRECTIVES
          • DBA_OB_RSRC_DIRECTIVES
          • DBA_OB_SPATIAL_COLUMNS
          • oceanbase.DBA_OB_SS_SPACE_USAGE
          • DBA_OB_STORAGE_IO_USAGE
          • DBA_OB_SYS_VARIABLES
          • DBA_OB_TABLE_LOCATIONS
          • DBA_OB_TABLE_OPT_STAT_GATHER_HISTORY
          • DBA_OB_TABLE_STAT_STALE_INFO
          • DBA_OB_TABLEGROUP_PARTITIONS
          • DBA_OB_TABLEGROUP_SUBPARTITIONS
          • DBA_OB_TABLEGROUP_TABLES
          • DBA_OB_TABLEGROUPS
          • DBA_OB_TABLET_REPLICAS
          • DBA_OB_TABLET_TO_LS
          • DBA_OB_TASK_OPT_STAT_GATHER_HISTORY
          • DBA_OB_TENANT_EVENT_HISTORY
          • DBA_OB_TENANT_FLASHBACK_LOG_SCN
          • DBA_OB_TEMP_FILES
          • DBA_OB_TENANTS
          • DBA_OB_TRANSFER_PARTITION_TASKS
          • DBA_PLSQL_TYPES
          • DBA_PLSQL_COLL_TYPES
          • DBA_PLSQL_TYPE_ATTRS
          • DBA_OB_TRANSFER_PARTITION_TASK_HISTORY
          • DBA_OB_TRANSFER_TASK_HISTORY
          • DBA_OB_TRANSFER_TASKS
          • DBA_OB_TTL_TASKS
          • DBA_OB_TTL_TASK_HISTORY
          • DBA_OB_USER_DEFINED_RULES
          • DBA_OB_ZONE_MAJOR_COMPACTION
          • DBA_OBJ_AUDIT_OPTS
          • DBA_OBJECTS
          • DBA_PART_COL_STATISTICS
          • DBA_PART_HISTOGRAMS
          • DBA_PART_INDEXES
          • DBA_PART_KEY_COLUMNS
          • DBA_PART_TABLES
          • DBA_POLICIES
          • DBA_POLICY_CONTEXTS
          • DBA_POLICY_GROUPS
          • DBA_PROCEDURES
          • DBA_PROFILES
          • DBA_RECYCLEBIN
          • DBA_ROLE_PRIVS
          • DBA_ROLES
          • DBA_RSRC_CONSUMER_GROUPS
          • DBA_RSRC_GROUP_MAPPINGS
          • DBA_RSRC_PLAN_DIRECTIVES
          • DBA_RSRC_PLANS
          • DBA_SCHEDULER_JOB_ARGS
          • DBA_SCHEDULER_JOB_RUN_DETAILS
          • DBA_SCHEDULER_JOBS
          • DBA_SCHEDULER_PROGRAM
          • DBA_SCHEDULER_PROGRAM_ARGS
          • DBA_SCHEDULER_WINDOWS
          • DBA_SEC_RELEVANT_COLS
          • DBA_SEGMENTS
          • DBA_SEQUENCES
          • DBA_SOURCE
          • DBA_SQL_MANAGEMENT_CONFIG
          • DBA_SQL_PLAN_BASELINES
          • DBA_STMT_AUDIT_OPTS
          • DBA_SUBPART_COL_STATISTICS
          • DBA_SUBPART_HISTOGRAMS
          • DBA_SUBPART_KEY_COLUMNS
          • DBA_SUBPARTITION_TEMPLATES
          • DBA_SYNONYMS
          • DBA_SYS_PRIVS
          • DBA_TAB_COL_STATISTICS
          • DBA_TAB_COLS
          • DBA_TAB_COLUMNS
          • DBA_TAB_COMMENTS
          • DBA_TAB_HISTOGRAMS
          • DBA_TAB_MODIFICATIONS
          • DBA_TAB_PARTITIONS
          • DBA_TAB_PRIVS
          • DBA_TAB_STATISTICS
          • DBA_TAB_STATS_HISTORY
          • DBA_TAB_SUBPARTITIONS
          • DBA_TABLES
          • DBA_TABLESPACES
          • DBA_OB_TABLE_SPACE_USAGE
          • DBA_TRIGGER_ORDERING
          • DBA_TRIGGERS
          • DBA_TYPE_ATTRS
          • DBA_TYPE_METHODS
          • DBA_TYPES
          • DBA_USERS
          • DBA_VIEWS
          • DBA_WR_ACTIVE_SESSION_HISTORY
          • DBA_WR_CONTROL
          • DBA_WR_EVENT_NAME
          • DBA_WR_SNAPSHOT
          • DBA_WR_SQLSTAT
          • DBA_WR_SQLTEXT
          • DBA_WR_STATNAME
          • DBA_WR_SYS_TIME_MODEL
          • DBA_WR_SYSSTAT
          • DBA_WR_SYSTEM_EVENT
          • DBMS_LOCK_ALLOCATED
          • DICT
          • DICTIONARY
          • NLS_DATABASE_PARAMETERS
          • NLS_INSTANCE_PARAMETERS
          • NLS_SESSION_PARAMETERS
          • PROXY_USERS
          • ROLE_ROLE_PRIVS
          • ROLE_SYS_PRIVS
          • ROLE_TAB_PRIVS
          • STMT_AUDIT_OPTION_MAP
          • TENANT_VIRTUAL_GLOBAL_VARIABLE
          • TENANT_VIRTUAL_SESSION_VARIABLE
          • USER_ALL_TABLES
          • USER_ARGUMENTS
          • USER_AUDIT_OBJECT
          • USER_AUDIT_SESSION
          • USER_AUDIT_STATEMENT
          • USER_AUDIT_TRAIL
          • USER_COL_COMMENTS
          • USER_COL_PRIVS
          • USER_COLL_TYPES
          • USER_CONS_COLUMNS
          • USER_CONSTRAINTS
          • USER_DB_LINKS
          • USER_DEPENDENCIES
          • USER_ERRORS
          • USER_IND_COLUMNS
          • USER_IND_EXPRESSIONS
          • USER_IND_PARTITIONS
          • USER_IND_STATISTICS
          • USER_IND_SUBPARTITIONS
          • USER_INDEXES
          • USER_PLSQL_TYPES
          • USER_PLSQL_COLL_TYPES
          • USER_PLSQL_TYPE_ATTRS
          • USER_JOBS
          • USER_MVIEW_LOGS
          • USER_MVIEWS
          • USER_MVREF_CHANGE_STATS
          • USER_MVREF_RUN_STATS
          • USER_MVREF_STATS
          • USER_MVREF_STATS_PARAMS
          • USER_MVREF_STATS_SYS_DEFAULTS
          • USER_MVREF_STMT_STATS
          • USER_OBJECTS
          • USER_PART_COL_STATISTICS
          • USER_PART_HISTOGRAMS
          • USER_PART_INDEXES
          • USER_PART_KEY_COLUMNS
          • USER_PART_TABLES
          • USER_POLICIES
          • USER_POLICY_CONTEXTS
          • USER_POLICY_GROUPS
          • USER_PROCEDURES
          • USER_PROFILES
          • USER_RECYCLEBIN
          • USER_ROLE_PRIVS
          • USER_SCHEDULER_JOB_ARGS
          • USER_SCHEDULER_PROGRAM_ARGS
          • USER_SEC_RELEVANT_COLS
          • USER_SEGMENTS
          • USER_SEQUENCES
          • USER_SOURCE
          • USER_SUBPART_COL_STATISTICS
          • USER_SUBPART_HISTOGRAMS
          • USER_SUBPART_KEY_COLUMNS
          • USER_SUBPARTITION_TEMPLATES
          • USER_SYNONYMS
          • USER_SYS_PRIVS
          • USER_TAB_COL_STATISTICS
          • USER_TAB_COLS
          • USER_TAB_COLUMNS
          • USER_TAB_COMMENTS
          • USER_TAB_HISTOGRAMS
          • USER_TAB_MODIFICATIONS
          • USER_TAB_PARTITIONS
          • USER_TAB_PRIVS
          • USER_TAB_STATISTICS
          • USER_TAB_STATS_HISTORY
          • USER_TAB_SUBPARTITIONS
          • USER_TABLES
          • USER_TABLESPACES
          • USER_TRIGGER_ORDERING
          • USER_TRIGGERS
          • USER_TYPE_ATTRS
          • USER_TYPE_METHODS
          • USER_TYPES
          • USER_USERS
          • USER_VIEWS
        • Performance views
          • GV$ACTIVE_SESSION_HISTORY
          • GV$DBLINK
          • GV$DML_STATS
          • GV$GLOBAL_TRANSACTION
          • GV$INSTANCE
          • GV$OB_ACTIVE_SESSION_HISTORY
          • GV$OB_ARBITRATION_MEMBER_INFO
          • GV$OB_COMPACTION_DIAGNOSE_INFO
          • GV$OB_COMPACTION_PROGRESS
          • GV$OB_COMPACTION_SUGGESTIONS
          • GV$OB_CGROUP_CONFIG
          • GV$OB_DTL_INTERM_RESULT_MONITOR
          • GV$OB_FLT_TRACE_CONFIG
          • GV$OB_FUNCTION_IO_STAT
          • GV$OB_GLOBAL_TRANSACTION
          • GV$OB_GROUP_IO_STAT
          • GV$OB_HMS_CLIENT_POOL_STAT
          • GV$OB_KVCACHE
          • GV$OB_LOG_STAT
          • GV$OB_LOG_TRANSPORT_DEST_STAT
          • GV$OB_LS_SNAPSHOTS
          • GV$OB_MEMORY
          • GV$OB_MEMSTORE
          • GV$OB_MEMSTORE_INFO
          • GV$OB_NIC_INFO
          • GV$OB_OPT_STAT_GATHER_MONITOR
          • GV$OB_PARAMETERS
          • GV$OB_PLAN_CACHE_PLAN_EXPLAIN
          • GV$OB_PL_CACHE_OBJECT
          • GV$OB_PLAN_CACHE_PLAN_STAT
          • GV$OB_PLAN_CACHE_STAT
          • GV$OB_PROCESSLIST
          • GV$OB_PS_ITEM_INFO
          • GV$OB_PS_STAT
          • GV$OB_PX_P2P_DATAHUB
          • GV$OB_PX_TARGET_MONITOR
          • GV$OB_PX_WORKER_STAT
          • GV$OB_QUERY_RESPONSE_TIME_HISTOGRAM
          • GV$OB_RES_MGR_SYSSTAT
          • GV$OB_SERVER_SCHEMA_INFO
          • GV$OB_SESS_TIME_MODEL
          • GV$OB_SESSION
          • GV$OB_SHARED_STORAGE_QUOTA
          • GV$OB_SQL_AUDIT
          • GV$OB_SQL_CCL_STATUS
          • GV$SQL_JOIN_FILTER
          • GV$OB_SQL_PLAN
          • GV$OB_SQL_WORKAREA_MEMORY_INFO
          • GV$OB_SQLSTAT
          • GV$OB_SSTABLES
          • GV$OB_SS_LOCAL_CACHE
          • GV$OB_SYS_TIME_MODEL
          • GV$OB_TABLET_COMPACTION_HISTORY
          • GV$OB_TABLET_COMPACTION_PROGRESS
          • GV$OB_TENANT_MEMORY
          • GV$OB_TENANT_RESOURCE_LIMIT
          • GV$OB_TENANT_RESOURCE_LIMIT_DETAIL
          • GV$OB_TRANSACTION_PARTICIPANTS
          • GV$OB_TRANSACTION_SCHEDULERS
          • GV$OB_UNITS
          • GV$OB_RESULT_CACHE_OBJECTS
          • GV$OPEN_CURSOR
          • GV$SESSION_WAIT
          • GV$SESSION_WAIT_HISTORY
          • GV$SESSTAT
          • GV$SQL_PLAN_MONITOR
          • GV$SQL_WORKAREA
          • GV$SQL_WORKAREA_ACTIVE
          • GV$SQL_WORKAREA_HISTOGRAM
          • GV$SYSSTAT
          • GV$SYSTEM_EVENT
          • GV$OB_ARBITRATION_SERVICE_STATUS
          • GV$OB_LOCKS
          • GV$OB_THREAD
          • V$ACTIVE_SESSION_HISTORY
          • V$DBLINK
          • V$DML_STATS
          • V$OB_ENCRYPTED_TABLES
          • V$ENCRYPTED_TABLESPACES
          • V$EVENT_NAME
          • V$GLOBAL_TRANSACTION
          • V$GLOBALCONTEXT
          • V$INSTANCE
          • V$OB_MEMORY
          • V$OB_MEMSTORE
          • V$NLS_PARAMETERS
          • V$OB_ACTIVE_SESSION_HISTORY
          • V$OB_ARBITRATION_MEMBER_INFO
          • V$OB_ARCHIVE_DEST_STATUS
          • V$OB_COMPACTION_DIAGNOSE_INFO
          • V$OB_COMPACTION_PROGRESS
          • V$OB_COMPACTION_SUGGESTIONS
          • V$OB_CGROUP_CONFIG
          • V$OB_DTL_INTERM_RESULT_MONITOR
          • V$OB_DYNAMIC_PARTITION_TABLES
          • V$OB_FUNCTION_IO_STAT
          • V$OB_GLOBAL_TRANSACTION
          • V$OB_GROUP_IO_STAT
          • V$OB_HMS_CLIENT_POOL_STAT
          • V$OB_KVCACHE
          • V$OB_LOG_STAT
          • V$OB_LOG_TRANSPORT_DEST_STAT
          • V$OB_LS_LOG_RESTORE_STATUS
          • V$OB_LS_SNAPSHOTS
          • V$OB_MEMSTORE_INFO
          • V$OB_NIC_INFO
          • V$OB_OPT_STAT_GATHER_MONITOR
          • V$OB_PARAMETERS
          • V$OB_PL_CACHE_OBJECT
          • V$OB_PROCESSLIST
          • V$OB_PX_P2P_DATAHUB
          • V$OB_PX_TARGET_MONITOR
          • V$OB_PX_WORKER_STAT
          • V$OB_QUERY_RESPONSE_TIME_HISTOGRAM
          • V$OB_RES_MGR_SYSSTAT
          • V$OB_RESULT_CACHE_OBJECTS
          • V$OB_SERVER_SCHEMA_INFO
          • V$OB_SESS_TIME_MODEL
          • V$OB_SESSION
          • V$OB_SHARED_STORAGE_QUOTA
          • V$OB_SQL_PLAN
          • V$OB_SQL_WORKAREA_MEMORY_INFO
          • V$OB_SQLSTAT
          • V$OB_SS_LOCAL_CACHE
          • V$OB_SYS_TIME_MODEL
          • V$OB_TABLET_COMPACTION_HISTORY
          • V$OB_TABLET_COMPACTION_PROGRESS
          • V$OB_TENANT_RESOURCE_LIMIT
          • V$OB_TENANT_RESOURCE_LIMIT_DETAIL
          • V$OB_TIMESTAMP_SERVICE
          • V$OB_TRANSACTION_PARTICIPANTS
          • V$OB_TRANSACTION_SCHEDULERS
          • V$OB_UNITS
          • V$OPEN_CURSOR
          • V$OB_PLAN_CACHE_PLAN_EXPLAIN
          • V$OB_PLAN_CACHE_PLAN_STAT
          • V$OB_PLAN_CACHE_STAT
          • V$OB_PS_ITEM_INFO
          • V$OB_PS_STAT
          • V$RSRC_PLAN
          • V$SESSION_WAIT
          • V$SESSION_WAIT_HISTORY
          • V$SESSTAT
          • V$OB_SQL_AUDIT
          • V$OB_SQL_CCL_STATUS
          • V$SQL_JOIN_FILTER
          • V$SQL_MONITOR_STATNAME
          • V$SQL_PLAN_MONITOR
          • V$SQL_WORKAREA
          • V$SQL_WORKAREA_ACTIVE
          • V$SQL_WORKAREA_HISTOGRAM
          • V$OB_SS_SSTABLES
          • V$OB_SSTABLES
          • V$RESTORE_POINT
          • V$STATNAME
          • V$SYSSTAT
          • V$SYSTEM_EVENT
          • V$OB_TENANT_MEMORY
          • V$TIMEZONE_NAMES
          • V$VERSION
          • V$OB_ARBITRATION_SERVICE_STATUS
          • V$OB_LOCKS
          • V$OB_LS_REPLICA_TASK_PLAN
          • V$OB_THREAD
      • Overview of metrics
      • Common wait events
    • Parameters and system variables
      • Overview of configuration parameters and system variables
      • Changes in V3.x and V4.x configuration items and system variables
      • Parameters
        • Overview
        • Cluster-level parameters
          • alert_log_level
          • all_cluster_list
          • all_server_list
          • arbitration_degradation_policy
          • auto_broadcast_location_cache_rate_limit
          • auto_leader_switch_interval
          • auto_refresh_location_cache_rate_limit
          • autoinc_cache_refresh_interval
          • async_ps_cursor_max_count
          • backup_backup_dest
          • backup_backup_dest_option
          • backup_concurrency
          • backup_dest
          • backup_dest_option
          • backup_log_archive_option
          • backup_net_limit
          • backup_recovery_window
          • backup_region
          • backup_zone
          • balance_blacklist_failure_threshold
          • balance_blacklist_retry_interval
          • balancer_emergency_percentage
          • balancer_log_interval
          • balancer_task_timeout
          • balancer_timeout_check_interval
          • system_protected_sys_variables
          • system-protected-tenant-parameters
          • balancer_tolerance_percentage
          • bf_cache_miss_count_threshold
          • bf_cache_priority
          • builtin_db_data_verify_cycle
          • cache_wash_threshold
          • clog_cache_priority
          • clog_disk_usage_limit_percentage
          • clog_disk_utilization_threshold
          • clog_expire_days
          • clog_io_isolation_mode
          • clog_sync_time_warn_threshold
          • clog_transport_compress_func
          • cluster
          • cluster_id
          • config_additional_dir
          • cpu_count
          • cpu_reserved
          • data_copy_concurrency
          • data_dir
          • data_disk_usage_limit_percentage
          • data_disk_write_limit_percentage
          • data_storage_error_tolerance_time
          • data_storage_warning_tolerance_time
          • datafile_disk_percentage
          • datafile_maxsize
          • datafile_next
          • datafile_size
          • dead_socket_detection_timeout
          • debug_sync_timeout
          • default_compress
          • default_compress_func
          • default_row_format
          • default_transport_compress_func
          • devname
          • diag_syslog_per_error_limit
          • disk_io_thread_count
          • dtl_buffer_size
          • election_blacklist_interval
          • election_cpu_quota
          • enable_asan_for_memory_context
          • enable_async_syslog
          • enable_auto_leader_switch
          • enable_auto_refresh_location_cache
          • enable_cgroup
          • enable_dblink
          • enable_ddl
          • enable_election_group
          • enable_global_background_resource_isolation
          • enable_global_freeze_trigger
          • enable_log_archive
          • enable_logservice
          • enable_major_freeze
          • enable_manual_merge
          • enable_merge_by_turn
          • enable_ob_esi_process
          • enable_ob_ratelimit
          • enable_one_phase_commit
          • enable_perf_event
          • enable_pg
          • enable_record_trace_id
          • enable_record_trace_log
          • enable_rereplication
          • enable_rich_error_msg
          • enable_rootservice_standalone
          • enable_rpc_authentication_bypass
          • enable_separate_sys_clog
          • enable_smooth_leader_switch
          • enable_sql_audit
          • enable_sql_operator_dump
          • enable_sys_table_ddl
          • enable_sys_unit_standalone
          • enable_syslog_recycle
          • enable_syslog_wf
          • enable_tcp_keepalive
          • enable_upgrade_mode
          • external_table_disk_cache_max_percentage
          • fast_recovery_concurrency
          • flush_log_at_trx_commit
          • fuse_row_cache_priority
          • gc_wait_archive
          • get_leader_candidate_rpc_timeout
          • global_background_cpu_quota
          • global_index_build_single_replica_timeout
          • global_major_freeze_residual_memory
          • global_write_halt_residual_memory
          • high_priority_net_thread_count
          • ignore_replay_checksum_error
          • ignore_replica_checksum_error
          • ilog_index_expire_time
          • index_block_cache_priority
          • index_cache_priority
          • index_clog_cache_priority
          • index_info_block_cache_priority
          • internal_sql_execute_timeout
          • large_query_threshold
          • large_query_worker_percentage
          • leak_mod_to_check
          • lease_time
          • local_ip
          • location_cache_cpu_quota
          • location_cache_expire_time
          • location_cache_priority
          • location_cache_refresh_min_interval
          • location_cache_refresh_rpc_timeout
          • location_cache_refresh_sql_timeout
          • location_fetch_concurrency
          • location_refresh_thread_count
          • log_archive_batch_buffer_limit
          • log_archive_checkpoint_interval
          • log_disk_percentage
          • log_disk_size
          • logservice_access_point
          • log_storage_warning_trigger_percentage
          • log_storage_warning_tolerance_time
          • ls_meta_table_check_interval
          • max_kept_major_version_number
          • max_px_worker_count
          • max_string_print_length
          • max_syslog_file_count
          • memory_chunk_cache_size
          • memory_limit
          • memory_limit_percentage
          • memory_reserved
          • memstore_limit_percentage
          • merge_stat_sampling_ratio
          • merge_thread_count
          • merger_completion_percentage
          • merger_switch_leader_duration_time
          • merger_warm_up_duration_time
          • micro_block_merge_verify_level
          • migrate_concurrency
          • migration_disable_time
          • min_observer_version
          • minor_deferred_gc_time
          • minor_freeze_times
          • minor_merge_concurrency
          • minor_warm_up_duration_time
          • multiblock_read_gap_size
          • multiblock_read_size
          • mysql_port
          • net_thread_count
          • ob_esi_io_concurrency
          • ob_esi_max_syslog_file_count
          • ob_esi_memory_limit
          • ob_esi_rpc_port
          • ob_esi_session_timeout
          • ob_esi_syslog_level
          • ob_event_history_recycle_interval
          • ob_ratelimit_stat_period
          • ob_startup_mode
          • ob_python_home
          • obconfig_url
          • observer_id
          • ob_storage_s3_url_encode_type
          • ob_enable_java_env
          • ob_enable_utl_tcp
          • ob_java_home
          • ob_java_connector_path
          • ob_java_opts
          • ob_enable_utl_http
          • ofs_list
          • opt_tab_stat_cache_priority
          • partition_table_check_interval
          • plan_cache_evict_interval
          • plan_cache_high_watermark
          • plan_cache_low_watermark
          • px_task_size
          • rebuild_replica_data_lag_threshold
          • recyclebin_object_expire_time
          • replica_safe_remove_time
          • resource_hard_limit
          • resource_soft_limit
          • restore_concurrency
          • rootservice_async_task_queue_size
          • rootservice_async_task_thread_count
          • rootservice_list
          • rootservice_memory_limit
          • rootservice_ready_check_interval
          • row_compaction_update_limit
          • row_purge_thread_count
          • rpc_client_authentication_method
          • rpc_port
          • rpc_server_authentication_method
          • rpc_timeout
          • schema_history_expire_time
          • schema_history_recycle_interval
          • server_balance_cpu_mem_tolerance_percent
          • server_balance_critical_disk_waterlevel
          • server_balance_disk_tolerance_percent
          • server_check_interval
          • server_cpu_quota_max
          • server_cpu_quota_min
          • server_data_copy_in_concurrency
          • server_data_copy_out_concurrency
          • server_permanent_offline_time
          • sql_audit_memory_limit
          • sql_login_thread_count
          • sql_net_thread_count
          • sql_protocol_min_tls_version
          • ssl_client_authentication
          • ssl_external_kms_info
          • stack_size
          • standby_fetch_log_bandwidth_limit
          • storage_meta_cache_priority
          • strict_check_os_params
          • switchover_process_thread_count
          • sync_io_thread_count
          • sys_bkgd_io_high_percentage
          • sys_bkgd_io_low_percentage
          • sys_bkgd_migration_change_member_list_timeout
          • sys_bkgd_migration_retry_num
          • sys_bkgd_net_percentage
          • sys_cpu_limit_trigger
          • syslog_compress_func
          • syslog_disk_size
          • syslog_file_uncompressed_count
          • syslog_io_bandwidth_limit
          • syslog_level
          • system_cpu_quota
          • system_memory
          • system_trace_level
          • kv_transport_compress_func
          • tablet_ls_cache_priority
          • tablet_meta_table_check_interval
          • tablet_meta_table_scan_batch_count
          • tablet_size
          • tcp_keepcnt
          • tcp_keepidle
          • tcp_keepintvl
          • tenant_cpu_variation_per_server
          • tenant_groups
          • tenant_task_queue_size
          • token_reserved_percentage
          • trace_log_sampling_interval
          • trace_log_slow_query_watermark
          • trx_2pc_retry_interval
          • trx_force_kill_threshold
          • trx_try_wait_lock_timeout
          • unit_balance_resource_weight
          • unit_gc_wait_time
          • use_large_pages
          • user_block_cache_priority
          • user_iort_up_percentage
          • user_row_cache_priority
          • user_tab_col_stat_cache_priority
          • virtual_table_location_cache_expire_time
          • wait_leader_batch_count
          • weak_read_version_refresh_interval
          • workers_per_cpu_quota
          • zone
          • zone_merge_concurrency
          • zone_merge_order
          • zone_merge_timeout
        • Tenant-level parameters
          • arbitration_timeout
          • archive_lag_target
          • audit_log_buffer_size
          • audit_log_compression
          • attach_shared_sstable_thread_score
          • audit_log_enable
          • audit_log_format
          • audit_log_max_size
          • audit_log_path
          • audit_log_prune_seconds
          • audit_log_query_sql
          • audit_log_rotate_on_size
          • audit_log_strategy
          • audit_sys_operations
          • audit_trail
          • auto_split_tablet_size
          • backup_data_file_size
          • balancer_idle_time
          • choose_migration_source_policy
          • clog_max_unconfirmed_log_count
          • clog_persistence_compress_func
          • compaction_dag_cnt_limit
          • compaction_high_thread_score
          • compaction_low_thread_score
          • compaction_mid_thread_score
          • compaction_schedule_tablet_batch_cnt
          • compatible
          • connection_control_failed_connections_threshold
          • connection_control_max_connection_delay
          • connection_control_min_connection_delay
          • cpu_quota_concurrency
          • ddl_thread_score
          • default_auto_increment_mode
          • default_delta_format
          • default_enable_extended_rowid
          • default_load_mode
          • default_micro_block_format_version
          • default_progressive_merge_num
          • default_skip_index_level
          • default_storage_cache_policy
          • default_table_merge_engine
          • default_table_organization
          • default_table_store_format
          • direct_load_allow_fallback
          • ddl_high_thread_score
          • document_ai_file_max_size
          • dump_data_dictionary_to_log_interval
          • enable_adaptive_plan_cache
          • enable_auto_split
          • enable_clog_persistence_compress
          • enable_database_sharding_none
          • enable_early_lock_release
          • enable_pl_rich_error_msg
          • enable_gts_standalone
          • enable_kv_group_commit
          • enable_kv_ttl
          • enable_lock_priority
          • enable_manual_storage_cache_policy
          • enable_mlog_auto_maintenance
          • enable_monotonic_weak_read
          • enable_mv_binlog_minimal_mode
          • enable_ls_leader_balance
          • enable_rebalance
          • enable_sql_extension
          • enable_transfer
          • enable_ttl
          • enable_user_defined_rewrite_rules
          • enable_window_compaction
          • external_kms_info
          • external_table_io_hole_size
          • external_table_io_range_size
          • freeze_trigger_percentage
          • global_index_auto_split_policy
          • ha_high_thread_score
          • ha_low_thread_score
          • ha_mid_thread_score
          • inc_sstable_upload_thread_score
          • io_category_config
          • job_queue_processes
          • json_document_max_depth
          • kv_ttl_duty_duration
          • kv_group_commit_batch_size
          • kv_group_commit_rw_mode
          • kv_hbase_client_scanner_timeout_period
          • kv_ttl_delete_max_ops
          • kv_ttl_history_recycle_interval
          • load_data_diagnosis_log_compression
          • load_data_diagnosis_log_max_size
          • load_vector_index_on_follower
          • lob_enable_block_cache_threshold
          • log_archive_concurrency
          • log_disk_throttling_maximum_duration
          • log_disk_throttling_percentage
          • log_disk_utilization_limit_threshold
          • log_disk_utilization_threshold
          • log_restore_concurrency
          • log_storage_compress_all
          • log_storage_compress_func
          • log_transport_compress_all
          • log_transport_compress_func
          • ls_gc_delay_time
          • ls_scale_out_factor
          • major_compact_trigger
          • major_freeze_duty_time
          • max_partition_num
          • max_stale_time_for_weak_consistency
          • mds_compaction_high_thread_score
          • mds_compaction_mid_thread_score
          • mds_minor_compact_trigger
          • merger_check_interval
          • minor_compact_trigger
          • mlog_trim_interval
          • model_max_retries
          • model_request_timeout
          • ob_compaction_schedule_interval
          • ob_enable_batched_multi_statement
          • ob_encoding_granularity
          • ob_enable_java_udf
          • ob_enable_python_udf
          • ob_proxy_readonly_transaction_routing_policy
          • ob_query_switch_leader_retry_timeout
          • ob_ssl_invited_common_names
          • ob_vector_index_active_segment_max_size
          • ob_vector_index_merge_trigger_percentage
          • ob_vector_memory_limit_percentage
          • open_cursors
          • optimizer_index_cost_adj
          • partition_balance_schedule_interval
          • plsql_code_type
          • plsql_debug
          • plsql_optimize_level
          • plsql_v2_compatibility
          • px_node_policy
          • package_state_sync_max_size
          • px_target_high_watermark
          • px_target_low_watermark
          • px_target_workers_per_cpu
          • px_workers_per_cpu_quota
          • query_memory_limit_percentage
          • query_response_time_flush
          • query_response_time_range_base
          • query_response_time_stats
          • range_optimizer_max_mem_size
          • recover_table_concurrency
          • recover_table_dop
          • replica_parallel_migration_mode
          • result_cache_max_size
          • result_cache_max_result
          • ob_result_cache_evict_percentage
          • ob_deterministic_udf_cache_max_size
          • rpc_memory_limit_percentage
          • shared_log_retention
          • spill_compression_codec
          • sql_func_extension_mode
          • sql_work_area
          • standby_db_fetch_log_rpc_timeout
          • standby_db_preferred_upstream_log_region
          • sts_credential
          • storage_cache_clean_macro_interval
          • tde_method
          • tenant_sql_login_thread_count
          • tenant_sql_net_thread_count
          • temporary_file_max_disk_size
          • storage_rowsets_size
          • suspend_storage_cache_task
          • ttl_duty_time
          • ttl_thread_score
          • undo_retention
          • vector_index_memory_saving_mode
          • vector_index_optimize_duty_time
          • vector_index_optimize_duty_time
          • workarea_size_policy
          • writing_throttling_maximum_duration
          • writing_throttling_trigger_percentage
          • zone_deploy_mode
      • System variables
        • Overview
        • Global variables
          • ap_query_cost_threshold
          • ap_query_route_policy
          • ap_query_replica_fallback
          • activate_all_roles_on_login
          • auto_increment_cache_size
          • auto_increment_increment
          • auto_increment_offset
          • autocommit
          • automatic_sp_privileges
          • binlog_row_image
          • block_encryption_mode
          • character_set_client
          • character_set_connection
          • cardinality_estimation_model
          • character_set_database
          • character_set_filesystem
          • character_set_results
          • character_set_server
          • character_set_system
          • collation_connection
          • collation_database
          • collation_server
          • connect_timeout
          • cte_max_recursion_depth
          • cursor_sharing
          • datadir
          • default_password_lifetime
          • default_storage_engine
          • div_precision_increment
          • error_on_overlap_time
          • event_scheduler
          • explicit_defaults_for_timestamp
          • ENABLE_OPTIMIZER_ROWGOAL
          • foreign_key_checks
          • group_concat_max_len
          • identity
          • init_connect
          • innodb_stats_persistent
          • innodb_strict_mode
          • interactive_timeout
          • license
          • lc_time_names
          • log_row_value_options
          • long_query_time
          • lower_case_table_names
          • max_allowed_packet
          • max_connections
          • max_sp_recursion_depth
          • max_user_connections
          • mview_refresh_dop
          • net_buffer_length
          • net_read_timeout
          • net_write_timeout
          • nls_calendar
          • nls_characterset
          • nls_comp
          • nls_currency
          • nls_date_format
          • nls_date_language
          • nls_dual_currency
          • nls_iso_currency
          • nls_length_semantics
          • nls_nchar_characterset
          • nls_nchar_conv_excp
          • nls_numeric_characters
          • nls_sort
          • nls_territory
          • nls_timestamp_format
          • nls_timestamp_tz_format
          • ob_bnl_join_cache_size
          • ob_compatibility_mode
          • ob_compatibility_control
          • ob_compatibility_version
          • ob_create_table_strict_mode
          • ob_default_lob_inrow_threshold
          • ob_default_replica_num
          • ob_early_lock_release
          • ob_enable_ps_parameter_anonymous_block
          • ob_enable_pl_async_commit
          • ob_enable_aggregation_pushdown
          • ob_enable_blk_nestedloop_join
          • ob_enable_hash_group_by
          • ob_enable_index_direct_select
          • ob_enable_jit
          • ob_enable_pl_cache
          • ob_enable_plan_cache
          • ob_enable_rich_error_msg
          • ob_enable_sql_audit
          • ob_enable_transformation
          • ob_enable_transmission_checksum
          • ob_enable_truncate_flashback
          • ob_global_debug_sync
          • ob_log_level
          • ob_max_read_stale_time
          • ob_pl_block_timeout
          • ob_plan_cache_evict_high_percentage
          • ob_plan_cache_evict_low_percentage
          • ob_plan_cache_percentage
          • ob_proxy_global_variables_version
          • ob_query_timeout
          • ob_read_consistency
          • ob_reserved_meta_memory_percentage
          • ob_route_policy
          • ob_sql_audit_percentage
          • ob_sql_work_area_percentage
          • ob_table_access_policy
          • ob_tcp_invited_nodes
          • ob_temp_tablespace_size_percentage
          • ob_timestamp_service
          • ob_trx_idle_timeout
          • ob_trx_lock_timeout
          • ob_trx_timeout
          • optimizer_capture_sql_plan_baselines
          • ob_security_version
          • optimizer_dynamic_sampling
          • optimizer_features_enable
          • optimizer_use_sql_plan_baselines
          • parallel_degree_limit
          • parallel_degree_policy
          • parallel_max_servers
          • parallel_min_scan_time_threshold
          • parallel_servers_target
          • performance_schema
          • plugin_dir
          • plsql_ccflags
          • pid_file
          • query_cache_size
          • plsql_optimize_level
          • port
          • query_cache_type
          • query_rewrite_enabled
          • query_rewrite_integrity
          • read_only
          • recyclebin
          • regexp_stack_limit
          • regexp_time_limit
          • resource_manager_plan
          • socket
          • runtime_bloom_filter_max_size
          • runtime_filter_max_in_num
          • runtime_filter_type
          • runtime_filter_wait_time_ms
          • secure_file_priv
          • server_uuid
          • sql_auto_is_null
          • sql_mode
          • sql_quote_show_create
          • sql_safe_updates
          • sql_select_limit
          • sql_throttle_current_priority
          • sql_throttle_network
          • sql_throttle_priority
          • sql_throttle_rt
          • SQL_TRANSPILER
          • sql_warnings
          • system_time_zone
          • time_zone
          • transaction_isolation
          • transaction_read_only
          • tx_isolation
          • tx_read_only
          • validate_password_check_user_name
          • validate_password_length
          • validate_password_mixed_case_count
          • validate_password_number_count
          • validate_password_policy
          • validate_password_special_char_count
          • version
          • version_comment
          • wait_timeout
        • Session-level variables
          • enable_sql_plan_monitor
          • is_result_accurate
          • last_insert_id
          • nls_language
          • ob_capability_flag
          • ob_enable_show_trace
          • ob_hnsw_ef_search
          • ob_ivf_nprobes
          • ob_last_schema_version
          • ob_org_cluster_id
          • ob_sparse_drop_ratio_search
          • ob_proxy_partition_hit
          • ob_proxy_set_trx_executed
          • ob_trace_info
          • timestamp
          • tracefile_identifier
    • Error codes
      • MySQL-compatible mode
        • Overview
        • 0001 to 3999
        • 4000 to 4499
        • 4500 to 4999
        • 5000 to 5999
        • 6000 to 6999
        • 7000 to 7999
        • 8000 to 8999
        • 9000 ~ 9499
        • 9500 to 9999
        • 10000 to 12000
        • 22998, 30926, 38104, and 38105
      • Oracle-compatible mode
        • Overview
        • OBE-00000 ~ OBE-00999
        • OBE-01000 to OBE-01499
        • OBE-01500 to OBE-01999
        • OBE-02000 to OBE-04999
        • OBE-05000 to OBE-10000
        • OBE-10000 to OBE-19999
        • OBE-20000 to OBE-29999
        • OBE-30000 to OBE-49999
        • OBE-50000 to OBE-99999
        • PLS-00000 to PLS-00999
    • Performance tuning
      • Overview
      • Performance related tools
        • System tools
          • Top
          • CPU tools
          • Memory tools
          • Disk I/O tools
          • Network tools
        • Internal tables
          • GV$SYSSTAT
          • GV$OB_SQL_AUDIT
          • GV$OB_TRANSACTION_PARTICIPANTS
        • Logs
          • slow trans
          • dump tenant info
          • Trace logs
        • OCP
      • System tuning
        • OS parameter tuning
        • Database parameter tuning
          • CPU parameters
          • I/O parameters
          • Memory-related parameters
          • Network transmission parameters
        • ODP parameter tuning
          • CPU parameters
          • Network transmission parameters
          • Routing parameters on nodes
      • Business model tuning
        • Load balancing
        • SQL diagnostics
        • Distributed transactions
      • Performance diagnosis
        • Monitor and diagnose the cluster performance
        • Diagnose tenant performance
        • Monitor ODP performance
        • Monitor host performance
        • WR management
          • Overview
          • Manage WR
          • Monitor historical session performance
          • Clean up WR data
        • ASH report
          • ASH
          • Generate an ASH report
          • Analyze an ASH report
      • SQL tuning
        • Execution process of SQL queries
        • SQL execution plans
          • Introduction to SQL execution plans
          • Execution plan operators
            • TABLE SCAN
            • JOIN
            • COUNT
            • GROUP BY
            • WINDOW FUNCTION
            • SUBPLAN FILTER
            • DISTINCT
            • SEQUENCE
            • MATERIAL
            • SORT
            • LIMIT
            • FOR UPDATE
            • SELECT INTO
            • SUBPLAN SCAN
            • UNION
            • INTERSECT
            • EXCEPT/MINUS
            • INSERT
            • DELETE
            • UPDATE
            • MERGE
            • EXCHANGE
            • GI
          • Plan cache
          • Fast parameterization
          • Real-time execution plan display
          • SQL optimization practice with EXPLAIN
        • Distributed execution plans
          • Perform distributed execution and parallel queries
          • Generate a distributed plan
          • Schedule distributed execution plans
          • Manage distributed execution plans
          • Parallel execution enabling methods and their priority
          • Auto DOP
          • Execute parallel queries
          • Perform parameter tuning for a parallel query
          • Parallel DML
          • Parallel DDL
        • Parallel execution plans
          • Introduction to parallel execution
          • Classification and optimization of parallel execution
          • Set concurrent execution
            • Concurrency control and queuing
            • Set a DOP for parallel execution
            • Set parallel execution parameters
          • Parallel execution diagnostics
          • Parallel execution tuning tips
          • Quick start
        • SQL tuning
          • Overview
          • General procedure
          • SQL execution performance monitoring
            • GV$OB_SQL_AUDIT
            • SQL Trace
            • Plan cache views
            • SQL performance analysis example
              • Use SQL Audit to analyze wait events in a query
              • Analyze SQL queries that cause an abrupt RT jitter
              • View and analyze the shape of an execution plan
              • Analyze slow SQL queries
              • Query SQL traffic distribution and QPS
              • Check whether SQL queries are balanced across servers in a cluster
              • Find the TOP N SQL queries
              • Analyze whether an unusually large number of remote execution requests exist in the system or the execution of an SQL statement
              • Find full table scan SQL statements in a tenant
              • Find the TOP N queries with the longest execution time within a certain period
              • Analyze queries related to distributed plans
              • Check whether the RPC execution count of a distributed subplan is balanced across servers in a cluster
          • Optimizer statistics
            • Overview of statistics
            • Statistics collection methods
              • Overview
              • Histograms
              • Manually collect statistics
              • Automatic statistics collection
              • Online statistics collection
              • Dynamic sampling
            • Statistics management
              • Overview
              • Delete statistics
              • Set statistics
              • Import and export statistics
              • Lock and unlock statistics
              • Manage statistics history
              • Manage statistics preferences
            • Monitoring and diagnostics for statistics collection
            • OceanBase statistics management practical guide
          • Query rewrite
            • Overview
            • Rule-based query rewrite
            • Cost-based query rewrite
          • Query optimization
            • Access path
              • Overview
              • Rule-based path selection
              • Cost-based path selection
            • Join algorithm
              • Overview
              • Join algorithms
              • Runtime filter
              • Join order
          • Manage execution plans
            • Optimizer hint
            • Plan binding
            • SPM plan management
        • Glossary
        • General issues in SQL tuning
    • Database proxy
      • OceanBase Database Proxy
      • Connection and routing
      • ODP
        • Overview
        • Manage ODP clusters
          • Create an ODP cluster
          • Manage ODP cluster parameters
          • Delete an ODP cluster
          • Upgrade all ODPs in an ODP cluster
          • Restart all ODPs in an ODP cluster
          • Manage OceanBase clusters connected to an ODP cluster
          • Monitor ODP cluster performance
        • Manage ODP
          • Add an ODP
          • Start an ODP
          • Refresh ODP configurations
          • Stop an ODP
          • Restart an ODP
          • Delete an ODP
          • Upgrade one or more ODPs
        • ODP startup parameters
      • Physical connections
      • Logical connection
        • Query all sessions
        • Query the details of a session
        • Query the metrics of a session
        • Query session variables
        • Terminate a server session
      • Route management
        • Table-based routing of ODP
        • LDC-based routing
        • ODP routing policy
          • Read/Write splitting
          • Follower-first read
          • Blocklist mechanism
          • Transaction routing
      • View tenant sessions
      • Terminate a tenant session
      • Set the maximum number of connections for a tenant
    • Drivers
      • ECOB
      • OBCI
      • OceanBase Connector/J
      • OceanBase Connector/C
      • OceanBase Connector/ODBC
    • Platforms
      • OMA
      • OMS
      • OCP
      • ODC
      • OAT
    • Components & tools
      • O&M management
        • obshell
          • Use cases
            • obshell management
              • Start or stop obshell
              • Upgrade obshell
            • cluster management
              • Deploy an OceanBase cluster
              • Deploy ODP
              • Take over an OceanBase cluster not deployed by obshell
              • Start an OceanBase cluster
              • Stop an OceanBase cluster
              • Use obshell to scale out an OceanBase cluster
              • Upgrade an OceanBase cluster
              • Initiate a cluster-level backup
            • Tenant management
              • Create a tenant
              • Initiate a tenant-level backup
              • Initiate tenant-level restore
              • Expand a tenant
            • Configure an OBServer node to start automatically on boot
          • obshell commands
            • Agent commands of obshell
            • Cluster commands of obshell
            • obshell unit commands
            • obshell resource pool commands
            • Tenant command group of obshell
            • Task commands of obshell
            • Backup commands in obshell
            • obshell restore command group
            • obshell recyclebin command group
          • obshell Dashboard
            • Tenant management
              • Session management
            • Performance monitoring
            • Manage inspection services
            • Manage credentials
          • API references
            • obshell API requests
            • Hybrid encryption for API operations
            • obshell management
              • AgentUpgradeCheck
              • UpgradeAgent
              • Set node password
              • QueryNodeStatus
            • cluster management
              • Add a node before cluster initialization
              • DeleteNodeBeforeClusterInitialization
              • SetClusterConfig
              • SetServerConfig
              • Initialize Cluster
              • StartCluster
              • StopCluster
              • ObUpgradeCheck
              • Upgrade OceanBase Database
              • Scale out a cluster
              • GetObInfo
            • ODP management
              • Deploy ODP
              • Start ODP
              • Stop ODP
              • Upload an ODP installation package
              • Upgrade ODP
              • Destroy ODP
            • Unit config management
              • Create a resource specification
              • Retrieve all resource specifications
              • Query the information of a specified resource specification
              • Delete a resource specification
            • Resource pool management
              • Get information about all resource pools
              • Delete a specified resource pool
            • Tenant management
              • Create a tenant
              • Query tenant information
              • Change the tenant password
              • Modify the access whitelist of a tenant
              • Modify the primary zone of a tenant
              • Modify tenant system variables
              • Modify tenant configurations
              • Rename a tenant
              • Create a user
              • Delete a user
              • Delete a tenant
              • Add a tenant replica
              • Modify a tenant replica
              • Delete a tenant replica
              • Lock a tenant
              • Unlock a tenant
              • Get an overview of all tenants
              • Query a system variable of a specified tenant
              • Fuzzy query tenant system variables
              • Query a tenant parameter
              • Fuzzy query tenant parameters
            • Session management
              • Query the session list of a tenant
              • Get tenant session details
              • Obtain tenant session statistics
              • Terminate a tenant session
              • Terminate a tenant session query
              • Query tenant deadlock history
            • Backup management
              • Set the backup configuration for a tenant
              • Set cluster-level backup configurations
              • Update the backup configuration of a tenant
              • Update the cluster-level backup configuration
              • Initiate a backup for a single tenant
              • Initiate a cluster-level backup
              • View information about a backup task for a tenant
              • View cluster-level backup tasks
              • Modify the backup status of a tenant
              • Modify the status of cluster-level backups
              • Modify the log archiving status of a tenant
              • Modify the log archiving status of a cluster
            • Restore management
              • Initiate tenant restore
              • View tenant recovery
              • Cancel tenant restore
            • Inspection service management
              • Trigger an inspection
              • Query inspection history
              • Obtain an inspection report
            • Recycle bin management
              • Query all tenant information in the recycle bin
              • Restore a tenant from the recycle bin
              • Clear a tenant from the recycle bin
            • Credential management
              • Create credentials
              • Obtain credentials
              • Update credentials
              • Delete a credential
              • Batch delete credentials
              • Query the credential list
              • Verify credentials
              • Batch verify credentials
              • Update the credential encryption key
            • Task management
              • OperateDag
              • GetDagDetails
              • GetNodeDetails
              • GetSubtaskDetails
              • QueryUnfinishedTasks
              • QueryUnfinishedAgentTasks
              • QueryUnfinishedObTasks
              • QueryLastObTask
              • QueryLastAgentTask
            • Other APIs
              • UploadPkg
              • GetPublicKey
          • SDK references
            • Python
              • Quick start
              • obshell management
                • Perform an agent upgrade check
                • Upgrade agents
                • Set node password
                • Query the status of a node
              • cluster management
                • Add a node before cluster initialization
                • Remove a node before cluster initialization
                • Set cluster-level configurations
                • Set server-level configurations
                • Initialize a cluster
                • Start a cluster
                • Stop a cluster
                • Perform an OceanBase Database upgrade check
                • Upgrade OceanBase Database
                • Scale out a cluster
                • Query the information about a cluster
                • Clean up obshell nodes in an uninitialized cluster
                • Create a cluster
              • ODP management
                • Deploy ODP
                • Start ODP
                • Stop ODP
                • Upload an ODP installation package
                • Upgrade ODP
                • Destroy ODP
              • Unit config management
                • Create a resource specification
                • Obtain information about all resource specifications
                • Query information about a specified resource unit
                • Delete a resource specification
              • Resource pool management
                • Get information about all resource pools
                • Delete a resource pool
              • Tenant management
                • Create a tenant
                • Query tenant information
                • Change the password of a tenant
                • Modify the access whitelist of a tenant
                • Modify the primary zone of a tenant
                • Modify tenant system variables
                • Modify tenant parameters
                • Rename a tenant
                • Create a user
                • Delete a user
                • Drop a tenant
                • Add a tenant replica
                • Modify a tenant replica
                • Delete a tenant replica
                • Lock a tenant
                • Unlock a tenant
                • Query the overview of all tenants
                • Query tenant system variables
                • Query tenant configuration items
              • Backup management
                • Configure the backup settings for a tenant
                • Configure cluster-level backup settings
                • Update the backup configuration of a tenant
                • Update cluster-level backup configuration
                • Initiate a backup for a single tenant
                • Initiate a cluster-level backup
                • View a backup task of a tenant
                • View cluster-level tenant backup tasks
                • Modify the backup status of a tenant
                • Modify the status of cluster-level backups
                • Change the log archiving status of a tenant
                • Modify the log archiving status of a cluster
              • Restore management
                • Restore a single tenant
                • View tenant recovery
                • Cancel tenant restoration
              • Recycle bin management
                • Get information about all tenants in the recycle bin
                • Restore a tenant from the recycle bin
                • Purge a tenant from the recycle bin
              • Task management
                • Operate a task
                • Obtain the information about a task
                • Obtain the information about a node
                • Obtain the information about a subtask
                • Query all unfinished tasks
                • Query unfinished agent tasks
                • Query unfinished OceanBase cluster tasks
                • Query the last O&M task in an OceanBase cluster
                • Query the last O&M task of an obshell node
              • Other APIs
                • Upload an RPM package
            • GO
              • Quick Start with obshell-sdk-go
              • obshell management
                • Perform an agent upgrade check
                • Upgrade agents
                • Query the status of a node
              • cluster management
                • Add a node before cluster initialization
                • Remove a node before cluster initialization
                • Set cluster-level configurations
                • Set server-level configurations
                • Initialize a cluster
                • Start a cluster
                • Stop a cluster
                • Perform an OceanBase Database upgrade check
                • Upgrade OceanBase Database
                • Scale out a cluster
                • Query the information about a cluster
                • Clean up obshell nodes in an uninitialized cluster
                • Create a cluster
              • Unit config management
                • Create a resource unit configuration
                • Query all resource specifications
                • Query the specifications of a specified resource
                • Drop a resource unit configuration
              • Resource pool management
                • Get information about all resource pools
                • Drop a resource pool
              • Tenant management
                • Create a tenant
                • Query tenant information
                • Change a tenant password
                • Modify the tenant access whitelist
                • Modify the primary zone of a tenant
                • Modify tenant system variables
                • Modify tenant parameters
                • Rename a tenant
                • Drop a tenant
                • Add a tenant replica
                • Modify a tenant replica
                • Delete a tenant replica
                • Lock a tenant
                • Unlock a tenant
                • Query the overview of all tenants
                • Query tenant system variables
                • Query tenant configuration items
              • Backup management
                • Set the backup configuration for a tenant
                • Set the cluster-level backup configuration
                • Update the backup configuration for a tenant
                • Update the cluster-level backup configuration
                • Initiate a backup for a single tenant
                • Initiate a cluster-level backup
                • View a backup task for a tenant
                • View cluster-level tenant backup tasks
                • Modify the backup status of a tenant
                • Modify the status of a cluster-level backup
                • Change the log archiving status of a tenant
                • Modify the status of cluster-level log archiving
              • Restore management
                • Initiate a restore for a single tenant
                • View tenant recovery
                • Cancel tenant restore
              • Recycle bin management
                • Get information about all tenants in the recycle bin
                • Restore a tenant from the recycle bin
                • Purge tenants from the recycle bin
              • Task management
                • Operate a task
                • Obtain the information about a task
                • Obtain the information about a node
                • Obtain the information about a subtask
                • Query all unfinished tasks
                • Query unfinished agent tasks
                • Query unfinished OceanBase cluster tasks
                • Query the last O&M task in an OceanBase cluster
                • Query the last O&M task of an obshell node
              • Other APIs
                • Upload an RPM package
          • Release notes
            • V4.4
              • OceanBase Shell V4.4.0.0 for local clusters
            • V4.3
              • OceanBase Shell V4.3.2.1
              • OceanBase Shell V4.3.2.0
              • OceanBase Shell V4.3.1.0 for local clusters
        • obd
        • ob_admin
          • Overview
          • clog
            • log_tool
            • Format of clogs
            • Transaction logs
          • Backup and restore
            • dump_backup
            • test_io_device
            • io_adapter_benchmark
          • dumpsst
        • ob-operator
        • ob_error
      • Monitoring and diagnostics
        • obdiag
        • sql_diagnoser
          • Overview
          • Install and use SQL diagnoser sql_diagnoser
            • Install sql_diagnoser
            • Use sql_diagnoser
          • sql_diagnoser parameters
            • Built-in diagnostic items
            • Diagnostic rule expression
            • API operations
            • Diagnostic items of SQL review
      • Log analysis
        • oblogminer
          • Overview
          • Install oblogminer
          • Command-line options
          • Examples
          • FAQ
      • Data integration
        • obloader and obdumper
        • oblogproxy
        • obcdc
          • OceanBase Binlog Service
          • obcdc parameters
            • Sample configuration file
            • General obcdc parameters
            • obcdc parameters
          • obcdc development instructions
          • obcdc_tailf
          • Throttling
          • obcdc allowlist and blocklist
          • Incremental direct load in obcdc
          • FAQ
      • Stress testing tools
        • mysqltest
          • Use obd.sh to run mysqltest
          • Use of cases
            • Add a test case
            • Test case writing conventions
            • General test case writing commands
    • OceanBase plugin
      • Overview of OceanBase plugin
      • Tokenizer plugin
      • MySQL external table plugin
  • FAQ
    • Products
    • SQL FAQ
    • Deployment FAQ
    • Cluster management
    • High availability
    • FAQ about columnstores
  • Release Notes
    • Version number guidelines
    • OceanBase Database Enterprise Edition
      • V4.6
        • OceanBase Database Enterprise Edition V4.6.0
      • V4.5
        • OceanBase Database Enterprise Edition V4.5.0
      • V4.4
        • OceanBase Database Enterprise Edition V4.4.2
      • V4.3
        • OceanBase Database Enterprise Edition V4.3.5
        • OceanBase Database Enterprise Edition V4.3.3
        • OceanBase Database Enterprise Edition V4.3.2
        • OceanBase Database Enterprise Edition V4.3.1
        • OceanBase Database Enterprise Edition V4.3.0
      • V4.2
        • OceanBase Database Enterprise Edition V4.2.1
        • OceanBase Database Enterprise Edition V4.2.0
      • V4.1
        • OceanBase Database Enterprise Edition V4.1.0
      • V3.2
        • OceanBase Database Enterprise Edition V3.2.4
        • OceanBase Database Enterprise Edition V3.2.3
        • OceanBase Database Enterprise Edition V3.2.2
        • OceanBase Database Enterprise Edition V3.2.1
        • OceanBase Database Enterprise Edition V3.2.0
      • V3.1
        • OceanBase Database Enterprise Edition V3.1.2
        • OceanBase Database Enterprise Edition V3.1.1
      • V2.2
        • OceanBase Database Enterprise Edition V2.2.77
        • OceanBase Database Enterprise Edition V2.2.76
        • OceanBase Database Enterprise Edition V2.2.30
    • OceanBase Database Community Edition
      • V4.5
        • OceanBase Database Community Edition V4.5.0
      • V4.4
        • OceanBase Database Community Edition V4.4.2
      • V4.3
        • OceanBase Database Community Edition V4.3.5
        • OceanBase Database Community Edition V4.3.3
        • OceanBase Database Community Edition V4.3.2
        • OceanBase Database Community Edition V4.3.1
        • OceanBase Database Community Edition V4.3.0
      • V4.2
        • OceanBase Database Community Edition V4.2.1
        • OceanBase Database Community Edition V4.2.0
      • V4.1
        • OceanBase Database Community Edition V4.1.0
      • V4.0
        • OceanBase Database Community Edition V4.0.0
      • V3.1
        • OceanBase Database Community Edition V3.1.5
        • OceanBase Database Community Edition V3.1.4
        • OceanBase Database Community Edition V3.1.3
        • OceanBase Database Community Edition V3.1.2
        • OceanBase Database Community Edition V3.1.1
  • Glossary

Download PDF

What's New Overview Architecture Overview of Oracle compatibility SQL data types Built-in functions System views Compatibility with MySQL Limitations Quick start with OceanBase Database Community Edition Before you begin Basic SQL operations (MySQL mode) Basic SQL operations (Oracle mode) Build a Python application Build a Java application Build a C application Build a Go application Create a Java sample application Create a C application Try out operational OLAP Try out parallel import and data compression Try out the multi-tenant feature Overview HA deployment solutions for OceanBase clusters Deployment process Deploy OceanBase Database Java SDK Clear an OceanBase cluster Recommended configurations Overview Upgrade an arbitration service Upgrade an OceanBase cluster Check the status after the upgrade Upgrade OceanBase Database with obd Overview Use OMS to migrate data from a MySQL database to a MySQL tenant of OceanBase Database Use mydumper and myloader to migrate data from a MySQL database to OceanBase Database Use DBCAT to migrate schemas from a MySQL database to OceanBase Database Use DataX to migrate table data from a MySQL database to OceanBase Database Use CloudCanal to migrate data from a MySQL database to OceanBase Database Use Canal to synchronize data from a MySQL database to OceanBase Database Use Flink CDC to synchronize data from a MySQL database to OceanBase Database Use ChunJun to migrate data from a MySQL database to OceanBase Database Use OMS to migrate data from a MySQL tenant of OceanBase Database to a MySQL database Use OMS to migrate incremental data from an Oracle tenant of OceanBase Database to a MySQL database Use DBCAT to migrate schemas from OceanBase Database to a MySQL database Use DataX to migrate table data from OceanBase Database to a MySQL database Use Canal to synchronize data from OceanBase Database to a MySQL database Use CloudCanal to migrate data from OceanBase Database to a MySQL database Use Flink CDC to migrate data from OceanBase Database to a MySQL database Use ChunJun to migrate data from OceanBase Database to a MySQL database Use OMS to migrate data from an Oracle database to a MySQL tenant of OceanBase Database Use OMS to migrate data from an Oracle database to an Oracle tenant of OceanBase Database Use DBCAT to migrate schemas from an Oracle database to OceanBase Database Use DataX to migrate table data from an Oracle database to OceanBase Database Use OMS to migrate data from an Oracle tenant of OceanBase Database to an Oracle database Use DBCAT to migrate schemas from OceanBase Database to an Oracle database Use DataX to migrate table data from OceanBase Database to an Oracle database Use OMS to migrate data from a DB2 LUW database to a MySQL tenant of OceanBase Database Use OMS to migrate data from a DB2 LUW database to an Oracle tenant of OceanBase Database Use DBCAT to migrate table schemas from a DB2 LUW database to OceanBase Database Use OMS to migrate data from a MySQL tenant of OceanBase Database to a DB2 LUW database Use OMS to migrate data from an Oracle tenant of OceanBase Database to a DB2 LUW database Use OMS to migrate data from a TiDB database to a MySQL tenant of OceanBase Database Use OMS to migrate data from a PostgreSQL database to a MySQL tenant of OceanBase Database Use DataX to migrate CSV files to OceanBase Database Import data by using the LOAD DATA statement Import data from SQL files to OceanBase Database Use OMS to migrate data from an OceanBase tenant to another of the same type Use OMS to migrate data from an OceanBase tenant to another of the same type in active-active disaster recovery scenarios Use obloader & obdumper to migrate data between MySQL tenants in OceanBase Database Use obloader & obdumper to migrate data from a MySQL tenant to an Oracle tenant in OceanBase Database Use obloader & obdumper to migrate data between Oracle tenants in OceanBase Database Use obloader & obdumper to migrate data from an Oracle tenant to a MySQL tenant in OceanBase Database Migrate data between tables Migrate resource units Export data using the OUTFILE statement Overview of direct load Log in to an OceanBase tenant Overview Cluster parameters Tenant introduction Tenant capacity Tenant types User tenant introduction Tenant system variables Create a log stream Modify a log stream Replicas Traffic distribution Data distribution Overview Transfer Partition Cancel a partition transfer task Cancel a Balance Job GTS standalone application scenario High availability overview Flashback queries Overview Overview Experience physical backup and restore with simplified deployment
OceanBase logo

The Unified Distributed Database for the AI Era.

Follow Us
Products
OceanBase CloudOceanBase EnterpriseOceanBase Community EditionOceanBase seekdb
Resources
DocsBlogLive DemosTraining & CertificationTicket
Company
About OceanBaseTrust CenterLegalPartnerContact Us
Follow Us

© OceanBase 2026. All rights reserved

Cloud Service AgreementPrivacy PolicySecurity
Contact Us
Document Feedback
  1. Documentation Center
  2. OceanBase Database
  3. SQL
  4. V4.6.0
iconOceanBase Database
SQL - V 4.6.0
Databases
  • OceanBase Database
  • OceanBase Cloud
  • OceanBase Tugraph
  • Interactive Tutorials
  • OceanBase Best Practices
Tools
  • OceanBase Cloud Platform
  • OceanBase Migration Service
  • OceanBase Developer Center
  • OceanBase Migration Assessment
  • OceanBase Admin Tool
  • OceanBase Loader and Dumper
  • OceanBase Deployer
  • Kubernetes operator for OceanBase
  • OceanBase Diagnostic Tool
  • OceanBase Binlog Service
Connectors and Middleware
  • OceanBase Database Proxy
  • Embedded SQL in C for OceanBase
  • OceanBase Call Interface
  • OceanBase Connector/C
  • OceanBase Connector/J
  • OceanBase Connector/ODBC
  • OceanBase Connector/NET
SQL
KV
  • V 4.6.0
  • V 4.4.2
  • V 4.3.5
  • V 4.3.3
  • V 4.3.1
  • V 4.3.0
  • V 4.2.5
  • V 4.2.2
  • V 4.2.1
  • V 4.2.0
  • V 4.1.0
  • V 4.0.0
  • V 3.1.4 and earlier

Optimizer hint

Last Updated:2026-05-07 11:26:25  Updated
Share
What is on this page
Hint syntax
Hint parameters
QB_NAME parameter
Hint usage rules
Common hints and syntax
INDEX Hint
FULL Hint
ORDERED Hint
LEADING Hint
USE_MERGE Hint
USE_NL Hint
USE_HASH Hint
PARALLEL Hint
UNION_MERGE Hint
PUSH_SUBQ Hint
NO_PUSH_SUBQ Hint
OPT_PARAM Hint
INDEX_MERGE Hint
NO_INDEX_MERGE Hint
CACHE Hint
NOCACHE Hint

folded

Share

The hint mechanism allows the optimizer to generate a specified execution plan.

Generally, the optimizer selects the best execution plan for a user query without the need for hints. However, in certain scenarios, the optimizer's generated execution plan may not meet the user's requirements. In such cases, the user can use hints to specify the desired execution plan.

Hint syntax

From a syntax perspective, a hint is a special SQL comment. The difference is that after the left delimiter of the comment (the "/*" symbol), a "+" is added. Since it is a comment, if the server cannot recognize the hint in the SQL statement, the optimizer will ignore the hint and use the default plan generation logic. Additionally, hints only affect the logical structure of the plan generated by the optimizer and do not affect the semantics of the SQL statement.

{ DELETE | INSERT | SELECT | UPDATE | REPLACE } /*+ [hint_text][,hint_text]... */

Notice

If you use the C client of MySQL to execute an SQL statement with a hint, you must use the -c option to log in. Otherwise, the MySQL client will remove the hint as a comment from the user's SQL statement, causing the system to not receive the hint.

Hint parameters

The following table describes the names, semantics, and syntax of the Hint parameters.

Name
Syntax
Semantics
NO_REWRITE NO_REWRITE Disables SQL rewriting.
READ_CONSISTENCY READ_CONSISTENCY (WEAK[STRONGFROZEN]) Specifies the read consistency setting (weak/strong).
INDEX_HINT /*+ INDEX(table_name index_name) */ Specifies the index for the table.
QUERY_TIMEOUT QUERY_TIMEOUT(INTNUM) Specifies the timeout period.
LOG_LEVEL LOG_LEVEL([']log_level[']) Specifies the log level. When specifying the module-level statement, the first single quotation mark (') is used as the start, and the second single quotation mark (') is used as the end; for example, 'DEBUG'.
LEADING LEADING([qb_name] TBL_NAME_LIST) Specifies the join order.
ORDERED ORDERED Specifies that the join is performed in the order specified in the SQL statement.
FULL FULL([qb_name] TBL_NAME) Specifies the table access path as the main table, equivalent to INDEX(TBL_NAME PRIMARY).
USE_PLAN_CACHE USE_PLAN_CACHE(NONE[DEFAULT]) Specifies whether to use the plan cache:
  • NONE: indicates that the plan cache is not used.
  • DEFAULT: indicates that the plan cache is used based on the server's settings.
USE_MERGE USE_MERGE([qb_name] TBL_NAME_LIST) Specifies that Merge Join is used for the specified tables when they are used as right tables.
USE_HASH USE_HASH([qb_name] TBL_NAME_LIST) Specifies that Hash Join is used for the specified tables when they are used as right tables.
NO_USE_HASH NO_USE_HASH([qb_name] TBL_NAME_LIST) Specifies that Hash Join is not used for the specified tables when they are used as right tables.
USE_NL USE_NL([qb_name] TBL_NAME_LIST) Specifies that Nested Loop Join is used for the specified tables when they are used as right tables.
USE_BNL USE_BNL([qb_name] TBL_NAME_LIST) Specifies that Block Nested Loop Join is used for the specified tables when they are used as right tables.
USE_HASH_AGGREGATION USE_HASH_AGGREGATION([qb_name]) Specifies the aggregation algorithm as Hash. For example, Hash Group By or Hash Distinct.
NO_USE_HASH_AGGREGATION NO_USE_HASH_AGGREGATION([qb_name]) Specifies that the Aggregate method does not use Hash Aggregate, but instead uses Merge Group By or Merge Distinct.
USE_LATE_MATERIALIZATION USE_LATE_MATERIALIZATION Specifies to use late materialization.
NO_USE_LATE_MATERIALIZATION NO_USE_LATE_MATERIALIZATION Specifies not to use late materialization.
TRACE_LOG TRACE_LOG Specifies to collect trace records for SHOW TRACE display.
QB_NAME QB_NAME( NAME ) Specifies the name of the query block.
PARALLEL PARALLEL(INTNUM) Specifies the degree of parallelism for distributed execution.
TOPK TOPK(PRECISION MINIMUM_ROWS) Specifies the precision and minimum number of rows for fuzzy queries. Here, PRECISION is an integer with a value in the range [0, 100], indicating the percentage of rows for fuzzy queries; and MINIMUM_ROWS specifies the minimum number of rows to return.
MAX_CONCURRENT MAX_CONCURRENT(n) Specifies the maximum number of concurrent sessions for this SQL statement.
UNION_MERGE

Notice

From OceanBase Database V4.4.1, the UNION_MERGE hint is removed and no longer supported.

UNION_MERGE(table_name index_name_list) Specifies the corresponding index merge plan.
PUSH_SUBQ PUSH_SUBQ[(@qb_name)] Indicates the optimizer to execute subqueries that are not rewritten as joins as early as possible.
NO_PUSH_SUBQ NO_PUSH_SUBQ[(@qb_name)] The opposite of PUSH_SUBQ, indicating that the optimizer executes subqueries that are not rewritten as joins at the end.
OPT_PARAM OPT_PARAM(parameter_name [,] parameter_value) Specifies some optimizer-related configurations or system variables to be updated at the query level.
INDEX_MERGE INDEX_MERGE([@query_block_name] tbl_name [index_name [,index_name]...]) Controls whether to use the index merge plan for the specified table.

Notice

  • If the index_name parameter is not specified after the specified table, it indicates to use the index merge plan for the specified table.
  • If the index_name parameter is specified after the specified table, it indicates to use the specified index (Index) to generate the index merge plan for the specified table.

NO_INDEX_MERGE NO_INDEX_MERGE([@query_block_name] tbl_name [index_name [,index_name]...]) Controls whether to use the specified index to generate the index merge plan for the specified table.

Notice

  • If the index_name parameter is not specified after the specified table, it indicates not to use the index merge plan.
  • If the index_name parameter is specified after the specified table, it indicates not to use the specified index (Index) to generate the index merge plan for the specified table.

CACHE CACHE ([@qb_name] table_name) Manually enables the cache for the specified table and its indexes. The cache is always enabled during the query.
NOCACHE NOCACHE ( [@qb_name] table_name) Manually disables the cache for the specified table and its indexes. The cache is always disabled during the query.

Note

  • The syntax of QB_NAME is: @NAME.
  • The syntax of TBL_NAME is: [db_name.]relation_name [qb_name].

QB_NAME parameter

In DML statements, each query_block has a QB_NAME (Query Block Name), which can be specified by the user or automatically generated by the system. If the user does not specify the QB_NAME using a hint, the system generates them in the order of SEL$1, SEL$2, UPD$1, and DEL$1, from left to right (which is also the parsing order of the resolver).

The QB_NAME can be used to precisely locate each table and to specify the behavior of any query block. In the TBL_NAME, the QB_NAME is used to locate the table, and the QB_NAME at the beginning of the hint is used to specify which query_block the hint applies to.

For example, by default, the t1 table in SEL$1 will use the t1_c1 path, and the t2 table in SEL$2 will use the primary table access.

obclient> CREATE TABLE t1(c1 INT, c2 INT, KEY t1_c1(c1));
Query OK, 0 rows affected

obclient> CREATE TABLE t2(c1 INT, c2 INT, KEY t2_c1(c1));
Query OK, 0 rows affected

obclient> EXPLAIN SELECT * FROM t1, (SELECT * FROM t2 WHERE c2 = 1 LIMIT 5)
 WHERE t1.c1 = 1;
+-----------------------------------------------------------------------------------------------------------+
| Query Plan                                                                                                |
+-----------------------------------------------------------------------------------------------------------+
| ======================================================================                                    |
| |ID|OPERATOR                   |NAME           |EST.ROWS|EST.TIME(us)|                                    |
| ----------------------------------------------------------------------                                    |
| |0 |NESTED-LOOP JOIN CARTESIAN |               |1       |7           |                                    |
| |1 |├─TABLE RANGE SCAN         |t1(t1_c1)      |1       |7           |                                    |
| |2 |└─MATERIAL                 |               |1       |3           |                                    |
| |3 |  └─SUBPLAN SCAN           |ANONYMOUS_VIEW1|1       |3           |                                    |
| |4 |    └─TABLE FULL SCAN      |t2             |1       |3           |                                    |
| ======================================================================                                    |
| Outputs & filters:                                                                                        |
| -------------------------------------                                                                     |
|   0 - output([t1.c1], [t1.c2], [ANONYMOUS_VIEW1.c1], [ANONYMOUS_VIEW1.c2]), filter(nil), rowset=16        |
|       conds(nil), nl_params_(nil), use_batch=false                                                        |
|   1 - output([t1.c1], [t1.c2]), filter(nil), rowset=16                                                    |
|       access([t1.__pk_increment], [t1.c1], [t1.c2]), partitions(p0)                                       |
|       is_index_back=true, is_global_index=false,                                                          |
|       range_key([t1.c1], [t1.__pk_increment]), range(1,MIN ; 1,MAX),                                      |
|       range_cond([t1.c1 = 1])                                                                             |
|   2 - output([ANONYMOUS_VIEW1.c1], [ANONYMOUS_VIEW1.c2]), filter(nil), rowset=16                          |
|   3 - output([ANONYMOUS_VIEW1.c1], [ANONYMOUS_VIEW1.c2]), filter(nil), rowset=16                          |
|       access([ANONYMOUS_VIEW1.c1], [ANONYMOUS_VIEW1.c2])                                                  |
|   4 - output([t2.c1], [t2.c2]), filter([t2.c2 = 1]), rowset=16                                            |
|       access([t2.c2], [t2.c1]), partitions(p0)                                                            |
|       limit(5), offset(nil), is_index_back=false, is_global_index=false, filter_before_indexback[false],  |
|       range_key([t2.__pk_increment]), range(MIN ; MAX)always true                                         |
+-----------------------------------------------------------------------------------------------------------+
25 rows in set

If the SQL statement specifies that the t1 table in SEL$1 should use the primary table access and the t2 table in SEL$2 should use an index, the statement would look like this:

obclient> EXPLAIN SELECT /*+INDEX(t1 PRIMARY) INDEX(@SEL$2 t2 t2_c1)*/ *
        FROM t1 , (SELECT * FROM t2 WHERE c2 = 1 LIMIT 5)
        WHERE t1.c1 = 1;
+----------------------------------------------------------------------------------------------------------+
| Query Plan                                                                                               |
+----------------------------------------------------------------------------------------------------------+
| ======================================================================                                   |
| |ID|OPERATOR                   |NAME           |EST.ROWS|EST.TIME(us)|                                   |
| ----------------------------------------------------------------------                                   |
| |0 |NESTED-LOOP JOIN CARTESIAN |               |1       |3           |                                   |
| |1 |├─TABLE FULL SCAN          |t1             |1       |3           |                                   |
| |2 |└─MATERIAL                 |               |1       |7           |                                   |
| |3 |  └─SUBPLAN SCAN           |ANONYMOUS_VIEW1|1       |7           |                                   |
| |4 |    └─TABLE FULL SCAN      |t2(t2_c1)      |1       |7           |                                   |
| ======================================================================                                   |
| Outputs & filters:                                                                                       |
| -------------------------------------                                                                    |
|   0 - output([t1.c1], [t1.c2], [ANONYMOUS_VIEW1.c1], [ANONYMOUS_VIEW1.c2]), filter(nil), rowset=16       |
|       conds(nil), nl_params_(nil), use_batch=false                                                       |
|   1 - output([t1.c1], [t1.c2]), filter([t1.c1 = 1]), rowset=16                                           |
|       access([t1.c1], [t1.c2]), partitions(p0)                                                           |
|       is_index_back=false, is_global_index=false, filter_before_indexback[false],                        |
|       range_key([t1.__pk_increment]), range(MIN ; MAX)always true                                        |
|   2 - output([ANONYMOUS_VIEW1.c1], [ANONYMOUS_VIEW1.c2]), filter(nil), rowset=16                         |
|   3 - output([ANONYMOUS_VIEW1.c1], [ANONYMOUS_VIEW1.c2]), filter(nil), rowset=16                         |
|       access([ANONYMOUS_VIEW1.c1], [ANONYMOUS_VIEW1.c2])                                                 |
|   4 - output([t2.c1], [t2.c2]), filter([t2.c2 = 1]), rowset=16                                           |
|       access([t2.__pk_increment], [t2.c2], [t2.c1]), partitions(p0)                                      |
|       limit(5), offset(nil), is_index_back=true, is_global_index=false, filter_before_indexback[false],  |
|       range_key([t2.c1], [t2.__pk_increment]), range(MIN,MIN ; MAX,MAX)always true                       |
+----------------------------------------------------------------------------------------------------------+
24 rows in set

Note

Since INDEX(t1 PRIMARY) already exists in SEL$1, it is not necessary to specify the query block for the hint.

The SQL statement can also be written as follows:

SELECT /*+INDEX(t1 PRIMARY) INDEX(@SEL$2 t2@SEL$2 t2_c1)*/ * FROM t1 , (SELECT * FROM t2 WHERE c2 = 1 LIMIT 5) WHERE t1.c1 = 1;

or:

SELECT /*+INDEX(t1 PRIMARY)*/ * FROM t1 , (SELECT /*+INDEX(t2 t2_c1)*/ * FROM t2 WHERE c2 = 1 LIMIT 5) WHERE t1.c1 = 1;

or:

SELECT /*+INDEX(@SEL$1 t1 PRIMARY) INDEX(@SEL$2 t2 t2_c1)*/ * FROM t1 , (SELECT * FROM t2 WHERE c2 = 1 LIMIT 5) WHERE t1.c1 = 1;

You can view all information about this hint by checking the Outline Data section in the result of the EXPLAIN EXTENDED command.

obclient> EXPLAIN EXTENDED SELECT * FROM t1, (SELECT * FROM t2 WHERE c2 = 1 LIMIT 5)
 WHERE t1.c1 = 1;
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Query Plan                                                                                                                                                         |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ======================================================================                                                                                             |
| |ID|OPERATOR                   |NAME           |EST.ROWS|EST.TIME(us)|                                                                                             |
| ----------------------------------------------------------------------                                                                                             |
| |0 |NESTED-LOOP JOIN CARTESIAN |               |1       |7           |                                                                                             |
| |1 |├─TABLE RANGE SCAN         |t1(t1_c1)      |1       |7           |                                                                                             |
| |2 |└─MATERIAL                 |               |1       |3           |                                                                                             |
| |3 |  └─SUBPLAN SCAN           |ANONYMOUS_VIEW1|1       |3           |                                                                                             |
| |4 |    └─TABLE FULL SCAN      |t2             |1       |3           |                                                                                             |
| ======================================================================                                                                                             |
| Outputs & filters:                                                                                                                                                 |
| -------------------------------------                                                                                                                              |
|   0 - output([t1.c1(0x7f20d7035330)], [t1.c2(0x7f20d70358b0)], [ANONYMOUS_VIEW1.c1(0x7f20d7035be0)], [ANONYMOUS_VIEW1.c2(0x7f20d7035f10)]), filter(nil), rowset=16 |
|       conds(nil), nl_params_(nil), use_batch=false                                                                                                                 |
|   1 - output([t1.c1(0x7f20d7035330)], [t1.c2(0x7f20d70358b0)]), filter(nil), rowset=16                                                                             |
|       access([t1.__pk_increment(0x7f20d7036b10)], [t1.c1(0x7f20d7035330)], [t1.c2(0x7f20d70358b0)]), partitions(p0)                                                |
|       is_index_back=true, is_global_index=false,                                                                                                                   |
|       range_key([t1.c1(0x7f20d7035330)], [t1.__pk_increment(0x7f20d7036b10)]), range(1,MIN ; 1,MAX),                                                               |
|       range_cond([t1.c1(0x7f20d7035330) = 1(0x7f20d7034b70)])                                                                                                      |
|   2 - output([ANONYMOUS_VIEW1.c1(0x7f20d7035be0)], [ANONYMOUS_VIEW1.c2(0x7f20d7035f10)]), filter(nil), rowset=16                                                   |
|   3 - output([ANONYMOUS_VIEW1.c1(0x7f20d7035be0)], [ANONYMOUS_VIEW1.c2(0x7f20d7035f10)]), filter(nil), rowset=16                                                   |
|       access([ANONYMOUS_VIEW1.c1(0x7f20d7035be0)], [ANONYMOUS_VIEW1.c2(0x7f20d7035f10)])                                                                           |
|   4 - output([t2.c1(0x7f20d7033a10)], [t2.c2(0x7f20d7033490)]), filter([t2.c2(0x7f20d7033490) = 1(0x7f20d7032cd0)]), rowset=16                                     |
|       access([t2.c2(0x7f20d7033490)], [t2.c1(0x7f20d7033a10)]), partitions(p0)                                                                                     |
|       limit(5), offset(nil), is_index_back=false, is_global_index=false, filter_before_indexback[false],                                                           |
|       range_key([t2.__pk_increment(0x7f20d70365e0)]), range(MIN ; MAX)always true                                                                                  |
| Used Hint:                                                                                                                                                         |
| -------------------------------------                                                                                                                              |
|   /*+                                                                                                                                                              |
|                                                                                                                                                                    |
|   */                                                                                                                                                               |
| Qb name trace:                                                                                                                                                     |
| -------------------------------------                                                                                                                              |
|   stmt_id:0, stmt_type:T_EXPLAIN                                                                                                                                   |
|   stmt_id:1, SEL$1                                                                                                                                                 |
|   stmt_id:2, SEL$2                                                                                                                                                 |
| Outline Data:                                                                                                                                                      |
| -------------------------------------                                                                                                                              |
|   /*+                                                                                                                                                              |
|       BEGIN_OUTLINE_DATA                                                                                                                                           |
|       LEADING(@"SEL$1" ("aabb"."t1"@"SEL$1" "ANONYMOUS_VIEW1"@"SEL$1"))                                                                                            |
|       USE_NL(@"SEL$1" "ANONYMOUS_VIEW1"@"SEL$1")                                                                                                                   |
|       USE_NL_MATERIALIZATION(@"SEL$1" "ANONYMOUS_VIEW1"@"SEL$1")                                                                                                   |
|       INDEX(@"SEL$1" "aabb"."t1"@"SEL$1" "t1_c1")                                                                                                                  |
|       FULL(@"SEL$2" "aabb"."t2"@"SEL$2")                                                                                                                           |
|       OPTIMIZER_FEATURES_ENABLE('4.3.0.0')                                                                                                                         |
|       END_OUTLINE_DATA                                                                                                                                             |
|   */                                                                                                                                                               |
| Optimization Info:                                                                                                                                                 |
| -------------------------------------                                                                                                                              |
|   t1:                                                                                                                                                              |
|       table_rows:1                                                                                                                                                 |
|       physical_range_rows:1                                                                                                                                        |
|       logical_range_rows:1                                                                                                                                         |
|       index_back_rows:1                                                                                                                                            |
|       output_rows:1                                                                                                                                                |
|       table_dop:1                                                                                                                                                  |
|       dop_method:Table DOP                                                                                                                                         |
|       avaiable_index_name:[t1_c1, t1]                                                                                                                              |
|       unstable_index_name:[t1]                                                                                                                                     |
|       stats version:0                                                                                                                                              |
|       dynamic sampling level:0                                                                                                                                     |
|       estimation method:[DEFAULT, STORAGE]                                                                                                                         |
|   t2:                                                                                                                                                              |
|       table_rows:1                                                                                                                                                 |
|       physical_range_rows:1                                                                                                                                        |
|       logical_range_rows:1                                                                                                                                         |
|       index_back_rows:0                                                                                                                                            |
|       output_rows:1                                                                                                                                                |
|       table_dop:1                                                                                                                                                  |
|       dop_method:Table DOP                                                                                                                                         |
|       avaiable_index_name:[t2_c1, t2]                                                                                                                              |
|       pruned_index_name:[t2_c1]                                                                                                                                    |
|       stats version:0                                                                                                                                              |
|       dynamic sampling level:0                                                                                                                                     |
|       estimation method:[DEFAULT, STORAGE]                                                                                                                         |
|   Plan Type:                                                                                                                                                       |
|       LOCAL                                                                                                                                                        |
|   Note:                                                                                                                                                            |
|       Degree of Parallelisim is 1 because of table property                                                                                                        |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
79 rows in set

Hint usage rules

The general usage rules for hints are as follows:

  • If a hint does not specify a query block, it applies to the current query block.

    Example 1: The t2 table is in Query Block 2, and it cannot be rewritten to Query Block 1. Therefore, the hint does not take effect.

    obclient> EXPLAIN SELECT /*+INDEX(t2 t2_c1)*/ *
            FROM t1 , (SELECT * FROM t2 WHERE c2 = 1 LIMIT 5)
            WHERE t1.c1 = 1;
    +-----------------------------------------------------------------------------------------------------------+
    | Query Plan                                                                                                |
    +-----------------------------------------------------------------------------------------------------------+
    | ======================================================================                                    |
    | |ID|OPERATOR                   |NAME           |EST.ROWS|EST.TIME(us)|                                    |
    | ----------------------------------------------------------------------                                    |
    | |0 |NESTED-LOOP JOIN CARTESIAN |               |1       |7           |                                    |
    | |1 |├─TABLE RANGE SCAN         |t1(t1_c1)      |1       |7           |                                    |
    | |2 |└─MATERIAL                 |               |1       |3           |                                    |
    | |3 |  └─SUBPLAN SCAN           |ANONYMOUS_VIEW1|1       |3           |                                    |
    | |4 |    └─TABLE FULL SCAN      |t2             |1       |3           |                                    |
    | ======================================================================                                    |
    | Outputs & filters:                                                                                        |
    | -------------------------------------                                                                     |
    |   0 - output([t1.c1], [t1.c2], [ANONYMOUS_VIEW1.c1], [ANONYMOUS_VIEW1.c2]), filter(nil), rowset=16        |
    |       conds(nil), nl_params_(nil), use_batch=false                                                        |
    |   1 - output([t1.c1], [t1.c2]), filter(nil), rowset=16                                                    |
    |       access([t1.__pk_increment], [t1.c1], [t1.c2]), partitions(p0)                                       |
    |       is_index_back=true, is_global_index=false,                                                          |
    |       range_key([t1.c1], [t1.__pk_increment]), range(1,MIN ; 1,MAX),                                      |
    |       range_cond([t1.c1 = 1])                                                                             |
    |   2 - output([ANONYMOUS_VIEW1.c1], [ANONYMOUS_VIEW1.c2]), filter(nil), rowset=16                          |
    |   3 - output([ANONYMOUS_VIEW1.c1], [ANONYMOUS_VIEW1.c2]), filter(nil), rowset=16                          |
    |       access([ANONYMOUS_VIEW1.c1], [ANONYMOUS_VIEW1.c2])                                                  |
    |   4 - output([t2.c1], [t2.c2]), filter([t2.c2 = 1]), rowset=16                                            |
    |       access([t2.c2], [t2.c1]), partitions(p0)                                                            |
    |       limit(5), offset(nil), is_index_back=false, is_global_index=false, filter_before_indexback[false],  |
    |       range_key([t2.__pk_increment]), range(MIN ; MAX)always true                                         |
    +-----------------------------------------------------------------------------------------------------------+
    25 rows in set
    

    Example 2: If the optimizer can reorganize the subquery and the outer query into a single query block, the hint may take effect.

    obclient> EXPLAIN SELECT /*+INDEX(t2 t2_c1)*/ *
            FROM t1 , (SELECT * FROM t2 WHERE c2 = 1)
            WHERE t1.c1 = 1;
    +------------------------------------------------------------------------------------+
    | Query Plan                                                                         |
    +------------------------------------------------------------------------------------+
    | ================================================================                   |
    | |ID|OPERATOR                   |NAME     |EST.ROWS|EST.TIME(us)|                   |
    | ----------------------------------------------------------------                   |
    | |0 |NESTED-LOOP JOIN CARTESIAN |         |1       |7           |                   |
    | |1 |├─TABLE RANGE SCAN         |t1(t1_c1)|1       |7           |                   |
    | |2 |└─MATERIAL                 |         |1       |7           |                   |
    | |3 |  └─TABLE FULL SCAN        |t2(t2_c1)|1       |7           |                   |
    | ================================================================                   |
    | Outputs & filters:                                                                 |
    | -------------------------------------                                              |
    |   0 - output([t1.c1], [t1.c2], [t2.c1], [t2.c2]), filter(nil), rowset=16           |
    |       conds(nil), nl_params_(nil), use_batch=false                                 |
    |   1 - output([t1.c1], [t1.c2]), filter(nil), rowset=16                             |
    |       access([t1.__pk_increment], [t1.c1], [t1.c2]), partitions(p0)                |
    |       is_index_back=true, is_global_index=false,                                   |
    |       range_key([t1.c1], [t1.__pk_increment]), range(1,MIN ; 1,MAX),               |
    |       range_cond([t1.c1 = 1])                                                      |
    |   2 - output([t2.c1], [t2.c2]), filter(nil), rowset=16                             |
    |   3 - output([t2.c2], [t2.c1]), filter([t2.c2 = 1]), rowset=16                     |
    |       access([t2.__pk_increment], [t2.c2], [t2.c1]), partitions(p0)                |
    |       is_index_back=true, is_global_index=false, filter_before_indexback[false],   |
    |       range_key([t2.c1], [t2.__pk_increment]), range(MIN,MIN ; MAX,MAX)always true |
    +------------------------------------------------------------------------------------+
    22 rows in set
    

In the above examples, if the optimizer cannot merge the subquery (SELECT * FROM t2 WHERE c2 = 1) into the outer query due to internal operations within the subquery, the t2 table is still considered part of the subquery. Therefore, the hint in the outer query does not take effect.

In the following example, the outer query and the subquery both reference the same table t1 and attempt to use the PRIMARY index. This may cause conflicts when the optimizer interprets and processes the hint, potentially making the hint ineffective.

obclient> EXPLAIN SELECT /*+INDEX(t1 PRIMARY)*/ *
          FROM t1 , (SELECT * FROM t1 WHERE c1 = 1)
          WHERE t1.c1 = 1;
+--------------------------------------------------------------------------+
| Query Plan                                                               |
+--------------------------------------------------------------------------+
| ================================================================         |
| |ID|OPERATOR                   |NAME     |EST.ROWS|EST.TIME(us)|         |
| ----------------------------------------------------------------         |
| |0 |NESTED-LOOP JOIN CARTESIAN |         |1       |7           |         |
| |1 |├─TABLE RANGE SCAN         |t1(t1_c1)|1       |7           |         |
| |2 |└─MATERIAL                 |         |1       |7           |         |
| |3 |  └─TABLE RANGE SCAN       |t1(t1_c1)|1       |7           |         |
| ================================================================         |
| Outputs & filters:                                                       |
| -------------------------------------                                    |
|   0 - output([t1.c1], [t1.c2], [t1.c1], [t1.c2]), filter(nil), rowset=16 |
|       conds(nil), nl_params_(nil), use_batch=false                       |
|   1 - output([t1.c1], [t1.c2]), filter(nil), rowset=16                   |
|       access([t1.__pk_increment], [t1.c1], [t1.c2]), partitions(p0)      |
|       is_index_back=true, is_global_index=false,                         |
|       range_key([t1.c1], [t1.__pk_increment]), range(1,MIN ; 1,MAX),     |
|       range_cond([t1.c1 = 1])                                            |
|   2 - output([t1.c1], [t1.c2]), filter(nil), rowset=16                   |
|   3 - output([t1.c1], [t1.c2]), filter(nil), rowset=16                   |
|       access([t1.__pk_increment], [t1.c1], [t1.c2]), partitions(p0)      |
|       is_index_back=true, is_global_index=false,                         |
|       range_key([t1.c1], [t1.__pk_increment]), range(1,MIN ; 1,MAX),     |
|       range_cond([t1.c1 = 1])                                            |
+--------------------------------------------------------------------------+
23 rows in set
  • If a table specified in a hint for a join method cannot be found, the hint for that table is ignored, while the hints for other tables still take effect. If the optimizer cannot generate the specified join method, it will choose another method, and the hint will be ineffective.

  • If a table specified in a hint for a join order cannot be found, the entire hint becomes ineffective.

Common hints and syntax

Compared with other databases, the optimizer of OceanBase Database is dynamic programming and has considered all possible optimal paths. Hints mainly specify the behavior of the optimizer and execute SQL queries based on the hints.

INDEX Hint

The INDEX hint is supported in both MySQL and Oracle modes.

  • The Oracle syntax of the INDEX hint is as follows:
SELECT/*+INDEX(table_name index_name) */ * FROM table_name;
  • The MySQL syntax of the INDEX hint is as follows:
table_name [[AS] alias] [index_hint_list]

index_hint_list:
index_hint [, index_hint] ...

index_hint:
USE {INDEX|KEY}
  [FOR {JOIN|ORDER BY|GROUP BY}] ([index_list])
  | IGNORE {INDEX|KEY}
  [FOR {JOIN|ORDER BY|GROUP BY}] (index_list)
  | FORCE {INDEX|KEY}
  [FOR {JOIN|ORDER BY|GROUP BY}] (index_list)

index_list:
index_name [, index_name] ...

In Oracle mode, only one INDEX can be specified for a table. In MySQL mode, multiple INDEX can be specified. However, in MySQL mode of OceanBase Database, even though multiple INDEX can be specified, only the first INDEX is used to generate the PATH for USE and FORCE methods. This is because OceanBase Database assumes that the writer of the hint is more familiar with the path than the program. If the SQL statement does not include a filter for the specified INDEX, a full table scan and index backtracking will occur. For IGNORE type, all specified INDEX will be ignored. The USE, FORCE, and Oracle hint methods are essentially the same. If the specified INDEX does not exist or is in an invalid state, the hint is ineffective. For IGNORE type, if all INDEX including the main table are ignored, the hint is ineffective.

In SQL statements, if a table name has an alias, written as table_name [AS] alias, the alias must be specified for the INDEX hint to take effect. Here is an example:

obclient> create table t1(c1 int, c2 int, c3 int);
Query OK, 0 rows affected

obclient> create index idx1 on t1(c1);
Query OK, 0 rows affected

obclient> create index idx2 on t1(c2);
Query OK, 0 rows affected

obclient> insert into t1 with recursive cte(n) as (select 1 from dual union all select n+1 from cte where n < 1000) select n, mod(n, 3), n from cte;
Query OK, 1 row affected

obclient> analyze table t1 COMPUTE STATISTICS for all columns size 128;
Query OK, 0 rows affected

obclient> explain select * from t1 where c1 = 1 and c2 = 1;
+-----------------------------------------------------------------------------------+
| Query Plan                                                                        |
+-----------------------------------------------------------------------------------+
| ====================================================                              |
| |ID|OPERATOR        |NAME    |EST.ROWS|EST.TIME(us)|                              |
| ----------------------------------------------------                              |
| |0 |TABLE RANGE SCAN|t1(idx1)|1       |7           |                              |
| ====================================================                              |
| Outputs & filters:                                                                |
| -------------------------------------                                             |
|   0 - output([t1.c1], [t1.c2], [t1.c3]), filter([t1.c2 = 1]), rowset=16           |
|       access([t1.__pk_increment], [t1.c1], [t1.c2], [t1.c3]), partitions(p0)      |
|       is_index_back=true, is_global_index=false, filter_before_indexback[false],  |
|       range_key([t1.c1], [t1.__pk_increment]), range(1,MIN ; 1,MAX),              |
|       range_cond([t1.c1 = 1])                                                     |
+-----------------------------------------------------------------------------------+
12 rows in set

-------Effective index
obclient> explain select /*+index(t idx2)*/ * from t1 t where c1 = 1 and c2 = 1;
+-----------------------------------------------------------------------------------+
| Query Plan                                                                        |
+-----------------------------------------------------------------------------------+
| ===================================================                               |
| |ID|OPERATOR        |NAME   |EST.ROWS|EST.TIME(us)|                               |
| ---------------------------------------------------                               |
| |0 |TABLE RANGE SCAN|t(idx2)|1       |812         |                               |
| ===================================================                               |
| Outputs & filters:                                                                |
| -------------------------------------                                             |
|   0 - output([t.c1], [t.c2], [t.c3]), filter([t.c1 = 1]), rowset=16               |
|       access([t.__pk_increment], [t.c1], [t.c2], [t.c3]), partitions(p0)          |
|       is_index_back=true, is_global_index=false, filter_before_indexback[false],  |
|       range_key([t.c2], [t.__pk_increment]), range(1,MIN ; 1,MAX),                |
|       range_cond([t.c2 = 1])                                                      |
+-----------------------------------------------------------------------------------+
12 rows in set

-------Invalid index
obclient> explain select /*+index(t1 idx2)*/ * from t1 t where c1 = 1 and c2 = 1;
+-----------------------------------------------------------------------------------+
| Query Plan                                                                        |
+-----------------------------------------------------------------------------------+
| ===================================================                               |
| |ID|OPERATOR        |NAME   |EST.ROWS|EST.TIME(us)|                               |
| ---------------------------------------------------                               |
| |0 |TABLE RANGE SCAN|t(idx1)|1       |7           |                               |
| ===================================================                               |
| Outputs & filters:                                                                |
| -------------------------------------                                             |
|   0 - output([t.c1], [t.c2], [t.c3]), filter([t.c2 = 1]), rowset=16               |
|       access([t.__pk_increment], [t.c1], [t.c2], [t.c3]), partitions(p0)          |
|       is_index_back=true, is_global_index=false, filter_before_indexback[false],  |
|       range_key([t.c1], [t.__pk_increment]), range(1,MIN ; 1,MAX),                |
|       range_cond([t.c1 = 1])                                                      |
+-----------------------------------------------------------------------------------+
12 rows in set

In the example, the filter condition c1 = 1 has a better selectivity than the filter condition c2 = 1. When the INDEX hint does not take effect, the optimizer uses the index selection mechanism and selects the idx1 index.

FULL Hint

The syntax of the FULL hint is used to specify a full table scan, as shown in the following example:

/*+ FULL(table_name)*/

The FULL hint specifies a full table scan for the specified table, which is equivalent to the INDEX hint /*+ INDEX(table_name PRIMARY)*/.

ORDERED Hint

The ORDERED hint specifies the join order based on the order of tables after the FROM keyword. The syntax is as follows:

/*+ ORDERED */

If the SQL statement is rewritten after specifying this hint, the join order will follow the rewritten stmt from the From Items, as the sub_query will be placed at the corresponding position in the From Items during rewriting.

LEADING Hint

The LEADING hint specifies the join order of tables. The syntax is as follows:

/*+ LEADING(table_name_list)*/

You can use parentheses () in the table_name_list to indicate the join priority of internal tables and specify complex joins. Here is an example:

obclient> EXPLAIN BASIC SELECT /*+LEADING(d c b a)*/ * FROM t1 a, t1 b, t1 c, t1 d;
+---------------------------------------------------------------------------------------------------------------------------------------+
| Query Plan                                                                                                                            |
+---------------------------------------------------------------------------------------------------------------------------------------+
| =========================================                                                                                             |
| |ID|OPERATOR                       |NAME|                                                                                             |
| -----------------------------------------                                                                                             |
| |0 |NESTED-LOOP JOIN CARTESIAN     |    |                                                                                             |
| |1 |├─NESTED-LOOP JOIN CARTESIAN   |    |                                                                                             |
| |2 |│ ├─NESTED-LOOP JOIN CARTESIAN |    |                                                                                             |
| |3 |│ │ ├─TABLE FULL SCAN          |d   |                                                                                             |
| |4 |│ │ └─MATERIAL                 |    |                                                                                             |
| |5 |│ │   └─TABLE FULL SCAN        |c   |                                                                                             |
| |6 |│ └─MATERIAL                   |    |                                                                                             |
| |7 |│   └─TABLE FULL SCAN          |b   |                                                                                             |
| |8 |└─MATERIAL                     |    |                                                                                             |
| |9 |  └─TABLE FULL SCAN            |a   |                                                                                             |
| =========================================                                                                                             |
| Outputs & filters:                                                                                                                    |
| -------------------------------------                                                                                                 |
|   0 - output([a.c1], [a.c2], [a.c3], [b.c1], [b.c2], [b.c3], [c.c1], [c.c2], [c.c3], [d.c1], [d.c2], [d.c3]), filter(nil), rowset=256 |
|       conds(nil), nl_params_(nil), use_batch=false                                                                                    |
|   1 - output([b.c1], [b.c2], [b.c3], [c.c1], [c.c2], [c.c3], [d.c1], [d.c2], [d.c3]), filter(nil), rowset=256                         |
|       conds(nil), nl_params_(nil), use_batch=false                                                                                    |
|   2 - output([c.c1], [c.c2], [c.c3], [d.c1], [d.c2], [d.c3]), filter(nil), rowset=256                                                 |
|       conds(nil), nl_params_(nil), use_batch=false                                                                                    |
|   3 - output([d.c1], [d.c2], [d.c3]), filter(nil), rowset=256                                                                         |
|       access([d.c1], [d.c2], [d.c3]), partitions(p0)                                                                                  |
|       is_index_back=false, is_global_index=false,                                                                                     |
|       range_key([d.__pk_increment]), range(MIN ; MAX)always true                                                                      |
|   4 - output([c.c1], [c.c2], [c.c3]), filter(nil), rowset=256                                                                         |
|   5 - output([c.c1], [c.c2], [c.c3]), filter(nil), rowset=256                                                                         |
|       access([c.c1], [c.c2], [c.c3]), partitions(p0)                                                                                  |
|       is_index_back=false, is_global_index=false,                                                                                     |
|       range_key([c.__pk_increment]), range(MIN ; MAX)always true                                                                      |
|   6 - output([b.c1], [b.c2], [b.c3]), filter(nil), rowset=256                                                                         |
|   7 - output([b.c1], [b.c2], [b.c3]), filter(nil), rowset=256                                                                         |
|       access([b.c1], [b.c2], [b.c3]), partitions(p0)                                                                                  |
|       is_index_back=false, is_global_index=false,                                                                                     |
|       range_key([b.__pk_increment]), range(MIN ; MAX)always true                                                                      |
|   8 - output([a.c1], [a.c2], [a.c3]), filter(nil), rowset=256                                                                         |
|   9 - output([a.c1], [a.c2], [a.c3]), filter(nil), rowset=256                                                                         |
|       access([a.c1], [a.c2], [a.c3]), partitions(p0)                                                                                  |
|       is_index_back=false, is_global_index=false,                                                                                     |
|       range_key([a.__pk_increment]), range(MIN ; MAX)always true                                                                      |
+---------------------------------------------------------------------------------------------------------------------------------------+
41 rows in set

obclient> EXPLAIN BASIC SELECT /*+LEADING((d c) (b a))*/ * FROM  t1 a, t1 b, t1 c, t1 d;
+---------------------------------------------------------------------------------------------------------------------------------------+
| Query Plan                                                                                                                            |
+---------------------------------------------------------------------------------------------------------------------------------------+
| =========================================                                                                                             |
| |ID|OPERATOR                       |NAME|                                                                                             |
| -----------------------------------------                                                                                             |
| |0 |NESTED-LOOP JOIN CARTESIAN     |    |                                                                                             |
| |1 |├─NESTED-LOOP JOIN CARTESIAN   |    |                                                                                             |
| |2 |│ ├─TABLE FULL SCAN            |d   |                                                                                             |
| |3 |│ └─MATERIAL                   |    |                                                                                             |
| |4 |│   └─TABLE FULL SCAN          |c   |                                                                                             |
| |5 |└─MATERIAL                     |    |                                                                                             |
| |6 |  └─NESTED-LOOP JOIN CARTESIAN |    |                                                                                             |
| |7 |    ├─TABLE FULL SCAN          |b   |                                                                                             |
| |8 |    └─MATERIAL                 |    |                                                                                             |
| |9 |      └─TABLE FULL SCAN        |a   |                                                                                             |
| =========================================                                                                                             |
| Outputs & filters:                                                                                                                    |
| -------------------------------------                                                                                                 |
|   0 - output([a.c1], [a.c2], [a.c3], [b.c1], [b.c2], [b.c3], [c.c1], [c.c2], [c.c3], [d.c1], [d.c2], [d.c3]), filter(nil), rowset=256 |
|       conds(nil), nl_params_(nil), use_batch=false                                                                                    |
|   1 - output([c.c1], [c.c2], [c.c3], [d.c1], [d.c2], [d.c3]), filter(nil), rowset=256                                                 |
|       conds(nil), nl_params_(nil), use_batch=false                                                                                    |
|   2 - output([d.c1], [d.c2], [d.c3]), filter(nil), rowset=256                                                                         |
|       access([d.c1], [d.c2], [d.c3]), partitions(p0)                                                                                  |
|       is_index_back=false, is_global_index=false,                                                                                     |
|       range_key([d.__pk_increment]), range(MIN ; MAX)always true                                                                      |
|   3 - output([c.c1], [c.c2], [c.c3]), filter(nil), rowset=256                                                                         |
|   4 - output([c.c1], [c.c2], [c.c3]), filter(nil), rowset=256                                                                         |
|       access([c.c1], [c.c2], [c.c3]), partitions(p0)                                                                                  |
|       is_index_back=false, is_global_index=false,                                                                                     |
|       range_key([c.__pk_increment]), range(MIN ; MAX)always true                                                                      |
|   5 - output([a.c1], [a.c2], [a.c3], [b.c1], [b.c2], [b.c3]), filter(nil), rowset=256                                                 |
|   6 - output([a.c1], [a.c2], [a.c3], [b.c1], [b.c2], [b.c3]), filter(nil), rowset=256                                                 |
|       conds(nil), nl_params_(nil), use_batch=false                                                                                    |
|   7 - output([b.c1], [b.c2], [b.c3]), filter(nil), rowset=256                                                                         |
|       access([b.c1], [b.c2], [b.c3]), partitions(p0)                                                                                  |
|       is_index_back=false, is_global_index=false,                                                                                     |
|       range_key([b.__pk_increment]), range(MIN ; MAX)always true                                                                      |
|   8 - output([a.c1], [a.c2], [a.c3]), filter(nil), rowset=256                                                                         |
|   9 - output([a.c1], [a.c2], [a.c3]), filter(nil), rowset=256                                                                         |
|       access([a.c1], [a.c2], [a.c3]), partitions(p0)                                                                                  |
|       is_index_back=false, is_global_index=false,                                                                                     |
|       range_key([a.__pk_increment]), range(MIN ; MAX)always true                                                                      |
+---------------------------------------------------------------------------------------------------------------------------------------+
41 rows in set

obclient> EXPLAIN BASIC SELECT /*+LEADING((d c b) a))*/ * FROM t1 a, t1 b, t1 c, t1 d;
+---------------------------------------------------------------------------------------------------------------------------------------+
| Query Plan                                                                                                                            |
+---------------------------------------------------------------------------------------------------------------------------------------+
| =========================================                                                                                             |
| |ID|OPERATOR                       |NAME|                                                                                             |
| -----------------------------------------                                                                                             |
| |0 |NESTED-LOOP JOIN CARTESIAN     |    |                                                                                             |
| |1 |├─NESTED-LOOP JOIN CARTESIAN   |    |                                                                                             |
| |2 |│ ├─NESTED-LOOP JOIN CARTESIAN |    |                                                                                             |
| |3 |│ │ ├─TABLE FULL SCAN          |d   |                                                                                             |
| |4 |│ │ └─MATERIAL                 |    |                                                                                             |
| |5 |│ │   └─TABLE FULL SCAN        |c   |                                                                                             |
| |6 |│ └─MATERIAL                   |    |                                                                                             |
| |7 |│   └─TABLE FULL SCAN          |b   |                                                                                             |
| |8 |└─MATERIAL                     |    |                                                                                             |
| |9 |  └─TABLE FULL SCAN            |a   |                                                                                             |
| =========================================                                                                                             |
| Outputs & filters:                                                                                                                    |
| -------------------------------------                                                                                                 |
|   0 - output([a.c1], [a.c2], [a.c3], [b.c1], [b.c2], [b.c3], [c.c1], [c.c2], [c.c3], [d.c1], [d.c2], [d.c3]), filter(nil), rowset=256 |
|       conds(nil), nl_params_(nil), use_batch=false                                                                                    |
|   1 - output([b.c1], [b.c2], [b.c3], [c.c1], [c.c2], [c.c3], [d.c1], [d.c2], [d.c3]), filter(nil), rowset=256                         |
|       conds(nil), nl_params_(nil), use_batch=false                                                                                    |
|   2 - output([c.c1], [c.c2], [c.c3], [d.c1], [d.c2], [d.c3]), filter(nil), rowset=256                                                 |
|       conds(nil), nl_params_(nil), use_batch=false                                                                                    |
|   3 - output([d.c1], [d.c2], [d.c3]), filter(nil), rowset=256                                                                         |
|       access([d.c1], [d.c2], [d.c3]), partitions(p0)                                                                                  |
|       is_index_back=false, is_global_index=false,                                                                                     |
|       range_key([d.__pk_increment]), range(MIN ; MAX)always true                                                                      |
|   4 - output([c.c1], [c.c2], [c.c3]), filter(nil), rowset=256                                                                         |
|   5 - output([c.c1], [c.c2], [c.c3]), filter(nil), rowset=256                                                                         |
|       access([c.c1], [c.c2], [c.c3]), partitions(p0)                                                                                  |
|       is_index_back=false, is_global_index=false,                                                                                     |
|       range_key([c.__pk_increment]), range(MIN ; MAX)always true                                                                      |
|   6 - output([b.c1], [b.c2], [b.c3]), filter(nil), rowset=256                                                                         |
|   7 - output([b.c1], [b.c2], [b.c3]), filter(nil), rowset=256                                                                         |
|       access([b.c1], [b.c2], [b.c3]), partitions(p0)                                                                                  |
|       is_index_back=false, is_global_index=false,                                                                                     |
|       range_key([b.__pk_increment]), range(MIN ; MAX)always true                                                                      |
|   8 - output([a.c1], [a.c2], [a.c3]), filter(nil), rowset=256                                                                         |
|   9 - output([a.c1], [a.c2], [a.c3]), filter(nil), rowset=256                                                                         |
|       access([a.c1], [a.c2], [a.c3]), partitions(p0)                                                                                  |
|       is_index_back=false, is_global_index=false,                                                                                     |
|       range_key([a.__pk_increment]), range(MIN ; MAX)always true                                                                      |
+---------------------------------------------------------------------------------------------------------------------------------------+
41 rows in set

To ensure the join order specified by the user is followed, the LEADING hint has strict checks. If the specified table_name does not exist, the LEADING hint becomes ineffective. If there are duplicate tables in the hint, the LEADING hint also becomes ineffective. If the optimizer cannot find the corresponding table in the From Items by table_id during the join process, the JOIN order specified for this table and subsequent tables becomes ineffective, while the JOIN order specified for tables before this one remains effective.

USE_MERGE Hint

The USE_MERGE hint specifies that the specified table should be used as the right table when using the Merge Join algorithm. The syntax is as follows:

/*+ USE_MERGE(table_name_list) */

Notice

In OceanBase Database, Merge Join requires an equality condition in the join-condition. Therefore, if two tables without an equality condition are joined, the use_merge hint will be ineffective.

Currently, there is no definitive conclusion on whether A Merge Join B is equivalent to B Merge Join A. According to the cost model, Merge Join distinguishes between the left and right tables when calculating the cost, which increases the flexibility of the hint. Therefore, Merge Join distinguishes between the left and right tables, and the use_merge hint only takes effect when the table is used as the right table.

USE_NL Hint

The basic structure of hints related to joins is as follows: join_hint_name ( @ qb_name table_name_list) The basic semantics are that when the right table matches the table_name_list, a plan is generated based on the hint semantics. Generally, the LEADING hint is used to specify the join order, making the tables in the table_name_list the right tables. Otherwise, the hint will become ineffective as the join order changes.

The table_name_list can be in the following forms:

  • Single table use_nl ( t1 ): Use Nested Loop Join when t1 is the right table.
  • Multiple single tables use_nl ( t1 t2 ... ): Use Nested Loop Join when t1 or t2 is the right table.
  • Multiple tables use_nl ( (t1 t2) ): Use Nested Loop Join when t1 join t2 is the right table, ignoring the join order and method of t1 and t2.
  • Multiple groups of tables use_nl ( t1 (t2 t3) (t4 t5 t6) ... ): Use Nested Loop Join when t1 / t2 join t3 / t4 join t5 join t6 is the right table.

The USE_NL hint specifies that the specified table should be used as the right table when using the Nested Loop Join algorithm. The syntax is as follows:

/*+ USE_NL(table_name_list) */

Examples:

obclient> CREATE TABLE t0(c1 INT, c2 INT, c3 INT);
obclient> CREATE TABLE t1(c1 INT, c2 INT, c3 INT);
obclient> CREATE TABLE t2(c1 INT, c2 INT, c3 INT);

obclient> EXPLAIN EXTENDED SELECT /*+LEADING(t0 t1) USE_NL(t1)*/ *
FROM t0, t1 WHERE t0.c1 = t1.c1;
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Query Plan                                                                                                                                                                                 |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ===================================================                                                                                                                                        |
| |ID|OPERATOR           |NAME|EST.ROWS|EST.TIME(us)|                                                                                                                                        |
| ---------------------------------------------------                                                                                                                                        |
| |0 |NESTED-LOOP JOIN   |    |1       |3           |                                                                                                                                        |
| |1 |├─TABLE FULL SCAN  |t0  |1       |3           |                                                                                                                                        |
| |2 |└─MATERIAL         |    |1       |3           |                                                                                                                                        |
| |3 |  └─TABLE FULL SCAN|t1  |1       |3           |                                                                                                                                        |
| ===================================================                                                                                                                                        |
| Outputs & filters:                                                                                                                                                                         |
| -------------------------------------                                                                                                                                                      |
|   0 - output([t0.c1(0x7f218dc21640)], [t0.c2(0x7f218dc21f00)], [t0.c3(0x7f218dc22230)], [t1.c1(0x7f218dc21980)], [t1.c2(0x7f218dc22560)], [t1.c3(0x7f218dc22890)]), filter(nil), rowset=16 |
|       conds([t0.c1(0x7f218dc21640) = t1.c1(0x7f218dc21980)(0x7f218dc20e80)]), nl_params_(nil), use_batch=false                                                                             |
|   1 - output([t0.c1(0x7f218dc21640)], [t0.c2(0x7f218dc21f00)], [t0.c3(0x7f218dc22230)]), filter(nil), rowset=16                                                                            |
|       access([t0.c1(0x7f218dc21640)], [t0.c2(0x7f218dc21f00)], [t0.c3(0x7f218dc22230)]), partitions(p0)                                                                                    |
|       is_index_back=false, is_global_index=false,                                                                                                                                          |
|       range_key([t0.__pk_increment(0x7f218dc230f0)]), range(MIN ; MAX)always true                                                                                                          |
|   2 - output([t1.c1(0x7f218dc21980)], [t1.c2(0x7f218dc22560)], [t1.c3(0x7f218dc22890)]), filter(nil), rowset=16                                                                            |
|   3 - output([t1.c1(0x7f218dc21980)], [t1.c2(0x7f218dc22560)], [t1.c3(0x7f218dc22890)]), filter(nil), rowset=16                                                                            |
|       access([t1.c1(0x7f218dc21980)], [t1.c2(0x7f218dc22560)], [t1.c3(0x7f218dc22890)]), partitions(p0)                                                                                    |
|       is_index_back=false, is_global_index=false,                                                                                                                                          |
|       range_key([t1.__pk_increment(0x7f218dc23420)]), range(MIN ; MAX)always true                                                                                                          |
| Used Hint:                                                                                                                                                                                 |
| -------------------------------------                                                                                                                                                      |
|   /*+                                                                                                                                                                                      |
|                                                                                                                                                                                            |
|       LEADING(("t0" "t1"))                                                                                                                                                                 |
|       USE_NL("t1")                                                                                                                                                                         |
|   */                                                                                                                                                                                       |
| Qb name trace:                                                                                                                                                                             |
| -------------------------------------                                                                                                                                                      |
|   stmt_id:0, stmt_type:T_EXPLAIN                                                                                                                                                           |
|   stmt_id:1, SEL$1                                                                                                                                                                         |
| Outline Data:                                                                                                                                                                              |
| -------------------------------------                                                                                                                                                      |
|   /*+                                                                                                                                                                                      |
|       BEGIN_OUTLINE_DATA                                                                                                                                                                   |
|       LEADING(@"SEL$1" ("cccc"."t0"@"SEL$1" "cccc"."t1"@"SEL$1"))                                                                                                                          |
|       USE_NL(@"SEL$1" "cccc"."t1"@"SEL$1")                                                                                                                                                 |
|       USE_NL_MATERIALIZATION(@"SEL$1" "cccc"."t1"@"SEL$1")                                                                                                                                 |
|       FULL(@"SEL$1" "cccc"."t0"@"SEL$1")                                                                                                                                                   |
|       FULL(@"SEL$1" "cccc"."t1"@"SEL$1")                                                                                                                                                   |
|       OPTIMIZER_FEATURES_ENABLE('4.3.0.0')                                                                                                                                                 |
|       END_OUTLINE_DATA                                                                                                                                                                     |
|   */                                                                                                                                                                                       |
| Optimization Info:                                                                                                                                                                         |
| -------------------------------------                                                                                                                                                      |
|   t0:                                                                                                                                                                                      |
|       table_rows:1                                                                                                                                                                         |
|       physical_range_rows:1                                                                                                                                                                |
|       logical_range_rows:1                                                                                                                                                                 |
|       index_back_rows:0                                                                                                                                                                    |
|       output_rows:1                                                                                                                                                                        |
|       table_dop:1                                                                                                                                                                          |
|       dop_method:Table DOP                                                                                                                                                                 |
|       avaiable_index_name:[t0]                                                                                                                                                             |
|       stats version:0                                                                                                                                                                      |
|       dynamic sampling level:1                                                                                                                                                             |
|       estimation method:[DYNAMIC SAMPLING FULL]                                                                                                                                            |
|   t1:                                                                                                                                                                                      |
|       table_rows:1                                                                                                                                                                         |
|       physical_range_rows:1                                                                                                                                                                |
|       logical_range_rows:1                                                                                                                                                                 |
|       index_back_rows:0                                                                                                                                                                    |
|       output_rows:1                                                                                                                                                                        |
|       table_dop:1                                                                                                                                                                          |
|       dop_method:Table DOP                                                                                                                                                                 |
|       avaiable_index_name:[t1]                                                                                                                                                             |
|       stats version:0                                                                                                                                                                      |
|       dynamic sampling level:1                                                                                                                                                             |
|       estimation method:[DYNAMIC SAMPLING FULL]                                                                                                                                            |
|   Plan Type:                                                                                                                                                                               |
|       LOCAL                                                                                                                                                                                |
|   Note:                                                                                                                                                                                    |
|       Degree of Parallelisim is 1 because of table property                                                                                                                                |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
74 rows in set

obclient> EXPLAIN EXTENDED SELECT /*+LEADING(t0 (t1 t2)) USE_NL((t1 t2))*/ *
FROM t0, t1, t2 WHERE t0.c1 = t1.c1 AND t0.c1 = t2.c1;
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Query Plan                                                                                                                                                                                 |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| =====================================================                                                                                                                                      |
| |ID|OPERATOR             |NAME|EST.ROWS|EST.TIME(us)|                                                                                                                                      |
| -----------------------------------------------------                                                                                                                                      |
| |0 |NESTED-LOOP JOIN     |    |1       |3           |                                                                                                                                      |
| |1 |├─TABLE FULL SCAN    |t0  |1       |3           |                                                                                                                                      |
| |2 |└─MATERIAL           |    |1       |5           |                                                                                                                                      |
| |3 |  └─HASH JOIN        |    |1       |5           |                                                                                                                                      |
| |4 |    ├─TABLE FULL SCAN|t1  |1       |3           |                                                                                                                                      |
| |5 |    └─TABLE FULL SCAN|t2  |1       |3           |                                                                                                                                      |
| =====================================================                                                                                                                                      |
| Outputs & filters:                                                                                                                                                                         |
| -------------------------------------                                                                                                                                                      |
|   0 - output([t0.c1(0x7f217d422a30)], [t0.c2(0x7f217d424700)], [t0.c3(0x7f217d424a30)], [t1.c1(0x7f217d422d70)], [t1.c2(0x7f217d424d60)], [t1.c3(0x7f217d425090)],                         |
|        [t2.c1(0x7f217d424180)], [t2.c2(0x7f217d4253c0)], [t2.c3(0x7f217d4256f0)]), filter(nil), rowset=16                                                                                  |
|       conds([t0.c1(0x7f217d422a30) = t1.c1(0x7f217d422d70)(0x7f217d422270)]), nl_params_(nil), use_batch=false                                                                             |
|   1 - output([t0.c1(0x7f217d422a30)], [t0.c2(0x7f217d424700)], [t0.c3(0x7f217d424a30)]), filter(nil), rowset=16                                                                            |
|       access([t0.c1(0x7f217d422a30)], [t0.c2(0x7f217d424700)], [t0.c3(0x7f217d424a30)]), partitions(p0)                                                                                    |
|       is_index_back=false, is_global_index=false,                                                                                                                                          |
|       range_key([t0.__pk_increment(0x7f217d426110)]), range(MIN ; MAX)always true                                                                                                          |
|   2 - output([t1.c1(0x7f217d422d70)], [t1.c2(0x7f217d424d60)], [t1.c3(0x7f217d425090)], [t2.c1(0x7f217d424180)], [t2.c2(0x7f217d4253c0)], [t2.c3(0x7f217d4256f0)]), filter(nil), rowset=16 |
|   3 - output([t1.c1(0x7f217d422d70)], [t1.c2(0x7f217d424d60)], [t1.c3(0x7f217d425090)], [t2.c1(0x7f217d424180)], [t2.c2(0x7f217d4253c0)], [t2.c3(0x7f217d4256f0)]), filter(nil), rowset=16 |
|       equal_conds([t1.c1(0x7f217d422d70) = t2.c1(0x7f217d424180)(0x7f217d4c2500)]), other_conds(nil)                                                                                       |
|   4 - output([t1.c1(0x7f217d422d70)], [t1.c2(0x7f217d424d60)], [t1.c3(0x7f217d425090)]), filter(nil), rowset=16                                                                            |
|       access([t1.c1(0x7f217d422d70)], [t1.c2(0x7f217d424d60)], [t1.c3(0x7f217d425090)]), partitions(p0)                                                                                    |
|       is_index_back=false, is_global_index=false,                                                                                                                                          |
|       range_key([t1.__pk_increment(0x7f217d426440)]), range(MIN ; MAX)always true                                                                                                          |
|   5 - output([t2.c1(0x7f217d424180)], [t2.c2(0x7f217d4253c0)], [t2.c3(0x7f217d4256f0)]), filter(nil), rowset=16                                                                            |
|       access([t2.c1(0x7f217d424180)], [t2.c2(0x7f217d4253c0)], [t2.c3(0x7f217d4256f0)]), partitions(p0)                                                                                    |
|       is_index_back=false, is_global_index=false,                                                                                                                                          |
|       range_key([t2.__pk_increment(0x7f217d426770)]), range(MIN ; MAX)always true                                                                                                          |
| Used Hint:                                                                                                                                                                                 |
| -------------------------------------                                                                                                                                                      |
|   /*+                                                                                                                                                                                      |
|                                                                                                                                                                                            |
|       LEADING(("t0" ("t1" "t2")))                                                                                                                                                          |
|       USE_NL(("t1" "t2"))                                                                                                                                                                  |
|   */                                                                                                                                                                                       |
| Qb name trace:                                                                                                                                                                             |
| -------------------------------------                                                                                                                                                      |
|   stmt_id:0, stmt_type:T_EXPLAIN                                                                                                                                                           |
|   stmt_id:1, SEL$1                                                                                                                                                                         |
| Outline Data:                                                                                                                                                                              |
| -------------------------------------                                                                                                                                                      |
|   /*+                                                                                                                                                                                      |
|       BEGIN_OUTLINE_DATA                                                                                                                                                                   |
|       LEADING(@"SEL$1" ("cccc"."t0"@"SEL$1" ("cccc"."t1"@"SEL$1" "cccc"."t2"@"SEL$1")))                                                                                                    |
|       USE_NL(@"SEL$1" ("cccc"."t2"@"SEL$1" "cccc"."t1"@"SEL$1"))                                                                                                                           |
|       USE_NL_MATERIALIZATION(@"SEL$1" ("cccc"."t2"@"SEL$1" "cccc"."t1"@"SEL$1"))                                                                                                           |
|       FULL(@"SEL$1" "cccc"."t0"@"SEL$1")                                                                                                                                                   |
|       USE_HASH(@"SEL$1" "cccc"."t2"@"SEL$1")                                                                                                                                               |
|       FULL(@"SEL$1" "cccc"."t1"@"SEL$1")                                                                                                                                                   |
|       FULL(@"SEL$1" "cccc"."t2"@"SEL$1")                                                                                                                                                   |
|       OPTIMIZER_FEATURES_ENABLE('4.3.0.0')                                                                                                                                                 |
|       END_OUTLINE_DATA                                                                                                                                                                     |
|   */                                                                                                                                                                                       |
| Optimization Info:                                                                                                                                                                         |
| -------------------------------------                                                                                                                                                      |
|   t0:                                                                                                                                                                                      |
|       table_rows:1                                                                                                                                                                         |
|       physical_range_rows:1                                                                                                                                                                |
|       logical_range_rows:1                                                                                                                                                                 |
|       index_back_rows:0                                                                                                                                                                    |
|       output_rows:1                                                                                                                                                                        |
|       table_dop:1                                                                                                                                                                          |
|       dop_method:Table DOP                                                                                                                                                                 |
|       avaiable_index_name:[t0]                                                                                                                                                             |
|       stats version:0                                                                                                                                                                      |
|       dynamic sampling level:1                                                                                                                                                             |
|       estimation method:[DYNAMIC SAMPLING FULL]                                                                                                                                            |
|   t1:                                                                                                                                                                                      |
|       table_rows:1                                                                                                                                                                         |
|       physical_range_rows:1                                                                                                                                                                |
|       logical_range_rows:1                                                                                                                                                                 |
|       index_back_rows:0                                                                                                                                                                    |
|       output_rows:1                                                                                                                                                                        |
|       table_dop:1                                                                                                                                                                          |
|       dop_method:Table DOP                                                                                                                                                                 |
|       avaiable_index_name:[t1]                                                                                                                                                             |
|       stats version:0                                                                                                                                                                      |
|       dynamic sampling level:1                                                                                                                                                             |
|       estimation method:[DYNAMIC SAMPLING FULL]                                                                                                                                            |
|   t2:                                                                                                                                                                                      |
|       table_rows:1                                                                                                                                                                         |
|       physical_range_rows:1                                                                                                                                                                |
|       logical_range_rows:1                                                                                                                                                                 |
|       index_back_rows:0                                                                                                                                                                    |
|       output_rows:1                                                                                                                                                                        |
|       table_dop:1                                                                                                                                                                          |
|       dop_method:Table DOP                                                                                                                                                                 |
|       avaiable_index_name:[t2]                                                                                                                                                             |
|       stats version:0                                                                                                                                                                      |
|       dynamic sampling level:1                                                                                                                                                             |
|       estimation method:[DYNAMIC SAMPLING FULL]                                                                                                                                            |
|   Plan Type:                                                                                                                                                                               |
|       LOCAL                                                                                                                                                                                |
|   Note:                                                                                                                                                                                    |
|       Degree of Parallelisim is 1 because of table property                                                                                                                                |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
97 rows in set

USE_HASH Hint

The USE_HASH hint specifies that the specified table should be used as the right table when using the Hash Join algorithm. The syntax is as follows:

/*+ USE_HASH(table_name_list) */

Examples:

obclient> CREATE TABLE t0(c1 INT, c2 INT, c3 INT);
obclient> CREATE TABLE t1(c1 INT, c2 INT, c3 INT);

obclient> EXPLAIN EXTENDED SELECT /*+LEADING(t0 t1) USE_HASH(t1)*/ *
FROM t0, t1 WHERE t0.c1 = t1.c1;
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Query Plan                                                                                                                                                                                 |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| =================================================                                                                                                                                          |
| |ID|OPERATOR         |NAME|EST.ROWS|EST.TIME(us)|                                                                                                                                          |
| -------------------------------------------------                                                                                                                                          |
| |0 |HASH JOIN        |    |1       |5           |                                                                                                                                          |
| |1 |├─TABLE FULL SCAN|t0  |1       |3           |                                                                                                                                          |
| |2 |└─TABLE FULL SCAN|t1  |1       |3           |                                                                                                                                          |
| =================================================                                                                                                                                          |
| Outputs & filters:                                                                                                                                                                         |
| -------------------------------------                                                                                                                                                      |
|   0 - output([t0.c1(0x7f21a8421640)], [t0.c2(0x7f21a8421f00)], [t0.c3(0x7f21a8422230)], [t1.c1(0x7f21a8421980)], [t1.c2(0x7f21a8422560)], [t1.c3(0x7f21a8422890)]), filter(nil), rowset=16 |
|       equal_conds([t0.c1(0x7f21a8421640) = t1.c1(0x7f21a8421980)(0x7f21a8420e80)]), other_conds(nil)                                                                                       |
|   1 - output([t0.c1(0x7f21a8421640)], [t0.c2(0x7f21a8421f00)], [t0.c3(0x7f21a8422230)]), filter(nil), rowset=16                                                                            |
|       access([t0.c1(0x7f21a8421640)], [t0.c2(0x7f21a8421f00)], [t0.c3(0x7f21a8422230)]), partitions(p0)                                                                                    |
|       is_index_back=false, is_global_index=false,                                                                                                                                          |
|       range_key([t0.__pk_increment(0x7f21a84230f0)]), range(MIN ; MAX)always true                                                                                                          |
|   2 - output([t1.c1(0x7f21a8421980)], [t1.c2(0x7f21a8422560)], [t1.c3(0x7f21a8422890)]), filter(nil), rowset=16                                                                            |
|       access([t1.c1(0x7f21a8421980)], [t1.c2(0x7f21a8422560)], [t1.c3(0x7f21a8422890)]), partitions(p0)                                                                                    |
|       is_index_back=false, is_global_index=false,                                                                                                                                          |
|       range_key([t1.__pk_increment(0x7f21a8423420)]), range(MIN ; MAX)always true                                                                                                          |
| Used Hint:                                                                                                                                                                                 |
| -------------------------------------                                                                                                                                                      |
|   /*+                                                                                                                                                                                      |
|                                                                                                                                                                                            |
|       LEADING(("t0" "t1"))                                                                                                                                                                 |
|       USE_HASH("t1")                                                                                                                                                                       |
|   */                                                                                                                                                                                       |
| Qb name trace:                                                                                                                                                                             |
| -------------------------------------                                                                                                                                                      |
|   stmt_id:0, stmt_type:T_EXPLAIN                                                                                                                                                           |
|   stmt_id:1, SEL$1                                                                                                                                                                         |
| Outline Data:                                                                                                                                                                              |
| -------------------------------------                                                                                                                                                      |
|   /*+                                                                                                                                                                                      |
|       BEGIN_OUTLINE_DATA                                                                                                                                                                   |
|       LEADING(@"SEL$1" ("dddd"."t0"@"SEL$1" "dddd"."t1"@"SEL$1"))                                                                                                                          |
|       USE_HASH(@"SEL$1" "dddd"."t1"@"SEL$1")                                                                                                                                               |
|       FULL(@"SEL$1" "dddd"."t0"@"SEL$1")                                                                                                                                                   |
|       FULL(@"SEL$1" "dddd"."t1"@"SEL$1")                                                                                                                                                   |
|       OPTIMIZER_FEATURES_ENABLE('4.3.0.0')                                                                                                                                                 |
|       END_OUTLINE_DATA                                                                                                                                                                     |
|   */                                                                                                                                                                                       |
| Optimization Info:                                                                                                                                                                         |
| -------------------------------------                                                                                                                                                      |
|   t0:                                                                                                                                                                                      |
|       table_rows:1                                                                                                                                                                         |
|       physical_range_rows:1                                                                                                                                                                |
|       logical_range_rows:1                                                                                                                                                                 |
|       index_back_rows:0                                                                                                                                                                    |
|       output_rows:1                                                                                                                                                                        |
|       table_dop:1                                                                                                                                                                          |
|       dop_method:Table DOP                                                                                                                                                                 |
|       avaiable_index_name:[t0]                                                                                                                                                             |
|       stats version:0                                                                                                                                                                      |
|       dynamic sampling level:1                                                                                                                                                             |
|       estimation method:[DYNAMIC SAMPLING FULL]                                                                                                                                            |
|   t1:                                                                                                                                                                                      |
|       table_rows:1                                                                                                                                                                         |
|       physical_range_rows:1                                                                                                                                                                |
|       logical_range_rows:1                                                                                                                                                                 |
|       index_back_rows:0                                                                                                                                                                    |
|       output_rows:1                                                                                                                                                                        |
|       table_dop:1                                                                                                                                                                          |
|       dop_method:Table DOP                                                                                                                                                                 |
|       avaiable_index_name:[t1]                                                                                                                                                             |
|       stats version:0                                                                                                                                                                      |
|       dynamic sampling level:1                                                                                                                                                             |
|       estimation method:[DYNAMIC SAMPLING FULL]                                                                                                                                            |
|   Plan Type:                                                                                                                                                                               |
|       LOCAL                                                                                                                                                                                |
|   Note:                                                                                                                                                                                    |
|       Degree of Parallelisim is 1 because of table property                                                                                                                                |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
71 rows in set

PARALLEL Hint

The PARALLEL hint specifies the degree of parallelism for the statement. The syntax is as follows:

/*+ PARALLEL(n) */

Here, n is an integer indicating the degree of parallelism.

OceanBase Database also supports the PARALLEL hint at the table level. The syntax is as follows:

/*+ PARALLEL(table_name n) */

If both the global degree of parallelism and the table-level degree of parallelism are specified, the table-level degree of parallelism will not take effect. Here is an example:

obclient> CREATE TABLE tbl1 (col1 INT)  PARTITION BY HASH(col1) ;
Query OK, 0 rows affected

obclient> EXPLAIN SELECT /*+ PARALLEL(3) PARALLEL(tbl1 5) */ * FROM tbl1;
+----------------------------------------------------------------------+
| Query Plan                                                           |
+----------------------------------------------------------------------+
| =========================================================            |
| |ID|OPERATOR             |NAME    |EST.ROWS|EST.TIME(us)|            |
| ---------------------------------------------------------            |
| |0 |PX COORDINATOR       |        |1       |1           |            |
| |1 |└─EXCHANGE OUT DISTR |:EX10000|1       |1           |            |
| |2 |  └─PX BLOCK ITERATOR|        |1       |1           |            |
| |3 |    └─TABLE FULL SCAN|tbl1    |1       |1           |            |
| =========================================================            |
| Outputs & filters:                                                   |
| -------------------------------------                                |
|   0 - output([INTERNAL_FUNCTION(tbl1.col1)]), filter(nil), rowset=16 |
|   1 - output([INTERNAL_FUNCTION(tbl1.col1)]), filter(nil), rowset=16 |
|       dop=5                                                          |
|   2 - output([tbl1.col1]), filter(nil), rowset=16                    |
|   3 - output([tbl1.col1]), filter(nil), rowset=16                    |
|       access([tbl1.col1]), partitions(p0)                            |
|       is_index_back=false, is_global_index=false,                    |
|       range_key([tbl1.__pk_increment]), range(MIN ; MAX)always true  |
+----------------------------------------------------------------------+
18 rows in set

UNION_MERGE Hint

Notice

Starting from OceanBase Database V4.4.1, the UNION_MERGE hint is no longer supported.

The UNION_MERGE hint is used to specify the execution method for Index Merge in the query plan. When a valid UNION_MERGE hint is provided, OceanBase Database will directly select the corresponding Index Merge plan.

The syntax is as follows:

/*+ UNION_MERGE(table_name index_name_list) */

Parameters:

  • table_name: specifies the name of the table.
  • index_name_list: specifies the list of index names, separated by spaces.

Examples:

  1. Create a table tbl1 that contains full-text indexes.

    CREATE TABLE tbl1 (
        col1 INT PRIMARY KEY,
        col2 INT,
        col3 VARCHAR(100),
        col4 VARCHAR(100),
        FULLTEXT INDEX ftidx3(col3),
        FULLTEXT INDEX ftidx4(col4)
    );
    
  2. Use the UNION_MERGE hint to view the execution plan. In the query, use the UNION_MERGE hint to specify the table tbl1 and indexes ftidx3 and ftidx4.

    EXPLAIN SELECT /*+UNION_MERGE(tbl1 ftidx3 ftidx4)*/ * FROM tbl1
        WHERE col1 = 1 
        AND (MATCH(col3) AGAINST ("word1") OR MATCH(col4) AGAINST ("word1"));
    

    The returned result is as follows:

    +----------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Query Plan                                                                                                                                                     |
    +----------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | ===========================================================================                                                                                    |
    | |ID|OPERATOR                    |NAME               |EST.ROWS|EST.TIME(us)|                                                                                    |
    | ---------------------------------------------------------------------------                                                                                    |
    | |0 |DISTRIBUTED INDEX MERGE SCAN|tbl1(ftidx3,ftidx4)|1       |45          |                                                                                    |
    | ===========================================================================                                                                                    |
    | Outputs & filters:                                                                                                                                             |
    | -------------------------------------                                                                                                                          |
    |   0 - output([tbl1.col1], [tbl1.col2], [tbl1.col3], [tbl1.col4]), filter([MATCH(tbl1.col3) AGAINST('word1') OR MATCH(tbl1.col4) AGAINST('word1')], [tbl1.col1  |
    |       = 1]), rowset=16                                                                                                                                         |
    |       access([tbl1.col1], [tbl1.col3], [tbl1.col4], [tbl1.col2]), partitions(p0)                                                                               |
    |       is_index_back=true, is_global_index=false, keep_ordering=true, use_index_merge=true, filter_before_indexback[false,false],                               |
    |       index_name: ftidx3, range_cond(nil), filter(nil)                                                                                                         |
    |       index_name: ftidx4, range_cond(nil), filter(nil)                                                                                                         |
    |       lookup_filter([tbl1.col1 = 1], [MATCH(tbl1.col3) AGAINST('word1') OR MATCH(tbl1.col4) AGAINST('word1')])                                                 |
    +----------------------------------------------------------------------------------------------------------------------------------------------------------------+
    14 rows in set
    

    The returned result indicates the following:

    • DISTRIBUTED INDEX MERGE SCAN: indicates that the Index Merge scan method is used in a distributed environment.
    • is_index_back=true: indicates that the back-table operation is enabled.
    • use_index_merge=true: indicates that Index Merge is enabled.
    • filter_before_indexback[false,false]: indicates that the filter condition is not applied before the back-table operation.

PUSH_SUBQ Hint

The PUSH_SUBQ hint instructs the optimizer to execute subqueries that have not been rewritten as joins as early as possible. Typically, these subqueries would be executed after all table joins in the execution plan. If a subquery has a low computational cost and can filter a large amount of data, executing it early may improve the plan's performance. However, if the subquery is rewritten as a join (/+unnest/), this hint is ineffective. The following scenarios are applicable:

  • The subquery has a low execution cost but can quickly filter a large amount of data.
  • The results of the subquery need to be used early to narrow down the data scope.

Syntax:

/*+ PUSH_SUBQ[(@qb_name)] */

Parameters:

  • @qb_name: An optional parameter that specifies the alias of the subquery (for more information, see the QB_NAME parameter section above). It helps clarify the target of the hint. If omitted, the hint applies to the subquery where it is placed.

Examples:

Use the PUSH_SUBQ hint in a query to instruct the optimizer to execute the subquery early to filter data in the tbl1 table.

SELECT /*+ PUSH_SUBQ(@"SEL$2") */ *
FROM tbl1, tbl2
WHERE tbl1.col1 = (SELECT MAX(tbl3.col1)
                   FROM tbl3
                   WHERE tbl3.col2 = tbl2.col2);

NO_PUSH_SUBQ Hint

The NO_PUSH_SUBQ hint is the opposite of PUSH_SUBQ. It instructs the optimizer to execute subqueries that have not been rewritten as joins at the end. It is applicable when the subquery has a high cost or cannot significantly reduce the number of rows. The following scenarios are applicable:

  • The subquery has a high execution cost, or its result has a minimal impact on the data volume.
  • The subquery needs to be executed after other filtering conditions take effect to reduce the input data volume.

Syntax:

/*+ NO_PUSH_SUBQ[(@qb_name)] */

Parameters:

  • @qb_name: An optional parameter that specifies the alias of the subquery.

Examples:

Use the NO_PUSH_SUBQ hint in a query to instruct the optimizer to execute the subquery at the end.

SELECT /*+ NO_PUSH_SUBQ */ *
FROM tbl1, tbl2
WHERE tbl1.col1 = (SELECT MAX(tbl3.col1)
                   FROM tbl3
                   WHERE tbl3.col2 = tbl2.col2);

OPT_PARAM Hint

The OPT_PARAM hint specifies optimizer-related configurations or system variables at the query level.

Syntax:

/*+ OPT_PARAM(parameter_name [,] parameter_value) */

Parameters:

  • parameter_name: the name of a configuration or system variable.

  • parameter_value: the value of the variable. The OPT_PARAM hint applies to the following parameters:

  • rowsets_enabled: specifies whether to enable vectorization. The data type is VARCHAR, and the value can be 'TRUE' or 'FALSE'. Enclose the value in single quotation marks (' ').

  • rowsets_max_rows: specifies the number of rows to be returned in batches (batch_size). The data type is INT, and the value ranges from 0 to 65535. Do not enclose the value in single quotation marks (' ').

  • enable_newsort: specifies whether to enable or disable the newsort optimization. The data type is VARCHAR, and the value can be 'TRUE' or 'FALSE'. Enclose the value in single quotation marks (' ').

  • use_part_sort_mgb: specifies whether to enable or disable the part sort merge group by. The data type is VARCHAR, and the value can be 'TRUE' or 'FALSE'. Enclose the value in single quotation marks (' ').

  • enable_in_range_optimization: specifies whether to enable or disable the in optimization. The data type is VARCHAR, and the value can be 'TRUE' or 'FALSE'. Enclose the value in single quotation marks (' ').

  • xsolapi_generate_with_clause: specifies whether to enable or disable the CTE extraction rewrite. The data type is VARCHAR, and the value can be 'TRUE' or 'FALSE'. Enclose the value in single quotation marks (' ').

  • preserve_order_for_pagination: specifies whether to add an order by clause to a query for pagination. The data type is VARCHAR, and the value can be 'TRUE' or 'FALSE'. Enclose the value in single quotation marks (' ').

  • storage_card_estimation: specifies whether to use the storage layer for row estimation. The data type is VARCHAR, and the value can be 'TRUE' or 'FALSE'. Enclose the value in single quotation marks (' ').

  • workarea_size_policy: specifies the strategy for manually or automatically adjusting the SQL workarea size. The data type is VARCHAR, and the value can be 'MANUAL' for manual adjustment or 'AUTO' for automatic adjustment. Enclose the value in single quotation marks (' ').

  • enable_rich_vector_format: specifies whether to enable vectorization 2.0 (a session-level parameter). The data type is VARCHAR, and the value can be 'TRUE' or 'FALSE'. Enclose the value in single quotation marks (' ').

  • spill_compression_codec: specifies the compression algorithm for operators that require temporary materialization. The data type is VARCHAR, and the value can be NONE, LZ4, SNAPPY, ZLIB, or ZSTD, representing different compression algorithms. The default value is NONE, indicating no compression.

  • inlist_rewrite_threshold: specifies the maximum number of constants that can trigger the rewrite of an inlist expression into a values statement. The data type is INT64, and the value ranges from 1 to 2147483647.

  • orc_filter_pushdown_level: specifies the level to which ORC external table filter conditions are pushed down. The parameter_value can be:

    Note

    Starting from OceanBase Database V4.4.0, the OPT_PARAM hint supports the orc_filter_pushdown_level parameter.

    • 0: disables filter condition pushdown.
    • 1: pushes down filter conditions to the file level.
    • 2: pushes down filter conditions to the stripe level.
    • 3: pushes down filter conditions to the row index level.
    • 4: pushes down filter conditions to the encoding level.
  • parquet_filter_pushdown_level: specifies the level to which Parquet external table filter conditions are pushed down. The parameter_value can be:

    Note

    Starting from OceanBase Database V4.4.0, the OPT_PARAM hint supports the parquet_filter_pushdown_level parameter.

    • 0: disables filter condition pushdown.
    • 1: pushes down filter conditions to the file level.
    • 2: pushes down filter conditions to the RowGroup level.
    • 3: pushes down filter conditions to the page level.
    • 4: pushes down filter conditions to the encoding level.

Examples:

  • Control the level to which ORC external table filter conditions are pushed down.

    • Disable ORC filter condition pushdown.

      SELECT /*+opt_param('orc_filter_pushdown_level', '0') */ *
      FROM ext_orc_tbl
      WHERE c1 = 1;
      
    • Push down ORC filter conditions to the file level.

      SELECT /*+opt_param('orc_filter_pushdown_level', '1') */ *
      FROM ext_orc_tbl
      WHERE c1 = 1;
      
    • Push down ORC filter conditions to the stripe level.

      SELECT /*+opt_param('orc_filter_pushdown_level', '2') */ *
      FROM ext_orc_tbl
      WHERE c1 = 1;
      
    • Push down ORC filter conditions to the row index level.

      SELECT /*+opt_param('orc_filter_pushdown_level', '3') */ *
      FROM ext_orc_tbl
      WHERE c1 = 1;
      
    • Push down ORC filter conditions to the encoding level.

      SELECT /*+opt_param('orc_filter_pushdown_level', '4') */ * FROM ext_orc_tbl
      WHERE c1 = 1;
      
  • Control the level to which Parquet external table filter conditions are pushed down.

    • Disable Parquet filter condition pushdown.

      SELECT /*+opt_param('parquet_filter_pushdown_level', '0') */ *
      FROM ext_parquet_tbl
      WHERE c1 = 1;
      
    • Push down Parquet filter conditions to the file level.

      SELECT /*+opt_param('parquet_filter_pushdown_level', '1') */ *
      FROM ext_parquet_tbl
      WHERE c1 = 1;
      
    • Push down Parquet filter conditions to the RowGroup level.

      SELECT /*+opt_param('parquet_filter_pushdown_level', '2') */ * FROM ext_parquet_tbl
      WHERE c1 = 1;
      
    • Push down Parquet filter conditions to the page level.

      SELECT /*+opt_param('parquet_filter_pushdown_level', '3') */ *
      FROM ext_parquet_tbl
      WHERE c1 = 1;
      
    • Push down Parquet filter conditions to the encoding level.

      SELECT /*+opt_param('parquet_filter_pushdown_level', '4') */ *
      FROM ext_parquet_tbl
      WHERE c1 = 1;
      

INDEX_MERGE Hint

The INDEX_MERGE hint is used to control whether an index merge plan is used for the specified table. If the specified index cannot generate an index merge plan, the hint is ignored. If no index is specified, the system will try to generate an index merge plan as much as possible.

Using the INDEX_MERGE hint can generate an index merge plan even when the _enable_index_merge configuration is set to False.

Syntax:

/*+ INDEX_MERGE([@query_block_name] tbl_name [index_name [,index_name]...]) */

Parameters:

  • @query_block_name: Optional. Specifies the name of the query block (query block) to which the hint applies. If omitted, the default is the main query block of the current query.

  • tbl_name: Specifies the table name.

  • index_name: Optional. Specifies the name of the index. Multiple index names can be specified.

    • If the index_name parameter is not specified after the specified table, it indicates that the system should use an index merge plan for the specified table.
    • If the index_name parameter is specified after the specified table, it indicates that the system should use the specified index to generate an index merge plan.

Examples:

  • Specify the index name in the INDEX_MERGE hint.

    obclient> SELECT /*+ INDEX_MERGE(t1 idx_c2 idx_c3) */ * FROM t1
        WHERE c2 = 1
        AND c3 = 1
        AND c4 = 1;
    
  • Do not specify the index name in the INDEX_MERGE hint.

    obclient> SELECT /*+ INDEX_MERGE(t1)*/ * FROM t1
        WHERE c2 = 1
        AND c3 = 1
        AND c4 = 1;
    

NO_INDEX_MERGE Hint

The NO_INDEX_MERGE hint is used to control whether an index merge plan is generated using the specified index for the specified table. If no index is specified, the system will not generate an index merge plan for the table.

If there is a conflict between the NO_INDEX_MERGE hint and the INDEX_MERGE hint, both hints will be ignored.

Syntax:

/*+ NO_INDEX_MERGE([@query_block_name] tbl_name [index_name [,index_name]...]) */

Parameters:

  • @query_block_name: Optional. Specifies the name of the query block (query block) to which the hint applies. If omitted, the default is the main query block of the current query.

  • tbl_name: Specifies the table name.

  • index_name: Optional. Specifies the name of the index. Multiple index names can be specified.

    • If the index_name parameter is not specified after the specified table, it indicates that the system should not use an index merge plan.
    • If the index_name parameter is specified after the specified table, it indicates that the system should not use the specified index to generate an index merge plan.

Examples:

obclient> SELECT /*+ NO_INDEX_MERGE(t1)*/ * FROM t1
    WHERE c2 = 1
    AND c3 = 1
    AND c4 = 1;

CACHE Hint

Note

This hint was introduced in V4.6.0.

The CACHE hint is used to manually enable the cache for the specified table and its indexes. The cache is enabled during the query process for this table.

Note

If no hint is specified, the cache is controlled based on the adaptive strategy.

Syntax:

/*+ CACHE ([@qb_name] table_name) */

Parameters:

  • @qb_name: Optional. Specifies the name of the query block (query block) to which the hint applies. If omitted, the default is the main query block of the current query.
  • table_name: Specifies the table name.

Examples:

  • Manually enable the cache for tbl1.

    obclient> SELECT /*+ CACHE(tbl1) */ * FROM tbl1;
    
  • Manually enable the cache for tbl1, and tbl2 is in the default state.

    obclient> SELECT /*+ CACHE(tbl1) */ * FROM tbl1, tbl2
        WHERE tbl1.col1 = tbl2.col1;
    

NOCACHE Hint

Note

This hint was introduced in V4.6.0.

The NOCACHE hint is used to manually disable the cache for the specified table and its indexes. The cache is disabled during the query process for this table.

Syntax:

/*+ CACHE ([@qb_name] table_name) */

Parameters:

  • @qb_name: Optional. Specifies the name of the query block (query block) to which the hint applies. If omitted, the default is the main query block of the current query.
  • table_name: Specifies the table name.

Examples:

Manually disable the cache for tbl1.

obclient> SELECT /*+ NOCACHE(tbl1) */ * FROM tbl1;

When multiple CACHE/NOCACHE hints are specified, all hints will be merged. If there is a conflict between CACHE and NOCACHE, that is, they specify the same table, CACHE will take precedence, meaning the cache for this table will be enabled.

CACHE takes effect and manually enables the cache for tbl1.

obclient> SELECT /*+ CACHE(tbl1) NOCACHE(tbl1) */ * FROM tbl1;

Previous topic

Join order
Last

Next topic

Plan binding
Next
What is on this page
Hint syntax
Hint parameters
QB_NAME parameter
Hint usage rules
Common hints and syntax
INDEX Hint
FULL Hint
ORDERED Hint
LEADING Hint
USE_MERGE Hint
USE_NL Hint
USE_HASH Hint
PARALLEL Hint
UNION_MERGE Hint
PUSH_SUBQ Hint
NO_PUSH_SUBQ Hint
OPT_PARAM Hint
INDEX_MERGE Hint
NO_INDEX_MERGE Hint
CACHE Hint
NOCACHE Hint