What should I do if Oracle query is slow?
Solutions to slow Oracle queries: 1. Put data, logs, and indexes on different I and O devices to increase reading speed; 2. Upgrade hardware; 3. Increase network speed; 4. Vertical , Split the table horizontally to reduce the size of the table.
Solution to slow Oracle query:
1. Put data, logs, and indexes in different I /O device, to increase the reading speed, Tempdb could be placed on RAID0 in the past, but SQL2000 no longer supports it. The larger the data volume (size), the more important it is to improve I/O.
2. Split the table vertically and horizontally to reduce the size of the table (sp_spaceuse)
3. Upgrade the hardware
4. Based on the query conditions, create indexes, optimize indexes, optimize access methods, and limit the amount of data in the result set. Note that the fill factor should be appropriate (it is best to use the default value of 0). The index should be as small as possible. It is better to use columns with smaller bytes to build indexes (refer to index creation). Do not build a single index for fields with a limited number of values, such as gender fields.
5. Improve network speed;
6. Expand the memory of the server. Windows 2000 and SQL server 2000 can support 4-8G of memory. Configure virtual memory: The virtual memory size should be configured based on the services running concurrently on the computer. When running Microsoft SQL Server® 2000, consider setting the virtual memory size to 1.5 times the physical memory installed in the computer. If you have additionally installed the full-text retrieval feature and plan to run the Microsoft Search service to perform full-text indexing and queries, consider configuring the virtual memory size to be at least 3 times the physical memory installed in the computer. Configure the SQL Server max server memory server configuration option to 1.5 times the physical memory (half the virtual memory size setting).
7. Increase the number of server CPUs; but you must understand that parallel processing and serial processing require more resources such as memory. Whether to use parallel or serial processing is automatically evaluated by MsSQL. A single task is broken down into multiple tasks that can be run on the processor. For example, the sorting, connection, scanning and GROUP BY clauses of delayed queries are executed at the same time. SQL SERVER determines the optimal parallel level according to the load of the system. Complex queries that require a large amount of CPU are most suitable for parallel processing. However, the update operations Update, Insert, and Delete cannot be processed in parallel.
8. If you use like to query, simply using index will not work, but full-text indexing consumes space. like 'a%' Use index like '%a' When querying like '%a%' without using index, the query time is proportional to the total length of the field value, so the CHAR type cannot be used, but VARCHAR. Build a full-text index for fields with very long values.
9. Separation of DB Server and APPLication Server; separation of OLTP and OLAP
10. Distributed partition view can be used to implement database server union. A federation is a group of servers that are managed separately but work together to share the processing load of the system. This mechanism of partitioning data to form a database server complex can scale a set of servers to support the processing needs of a large, multi-tier Web site. For more information, see Designing a Federated Database Server. (Refer to the SQL help file 'Partitioned View')
a. Before implementing the partitioned view, you must first partition the table horizontally
b. After creating the member table, define it on each member server A distributed partitioned view, with each view having the same name. In this way, queries that reference the distributed partitioned view name can be run on any member server. The system operates as if there is a copy of the original table on each member server, but in fact there is only one member table and one distributed partitioned view on each server. The location of the data is transparent to the application.
11. Rebuild indexes DBCC REINDEX, DBCC INDEXDEFRAG, shrink data and logs DBCC SHRINKDB, DBCC SHRINKFILE. Set automatic shrink logs. For large databases, do not set automatic database growth, as it will reduce server performance.
Related learning recommendations: oracle database learning tutorial
The above is the detailed content of What should I do if Oracle query is slow?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



To query the Oracle tablespace size, follow the following steps: Determine the tablespace name by running the query: SELECT tablespace_name FROM dba_tablespaces; Query the tablespace size by running the query: SELECT sum(bytes) AS total_size, sum(bytes_free) AS available_space, sum(bytes) - sum(bytes_free) AS used_space FROM dba_data_files WHERE tablespace_

There are three ways to view instance names in Oracle: use the "sqlplus" and "select instance_name from v$instance;" commands on the command line. Use the "show instance_name;" command in SQL*Plus. Check environment variables (ORACLE_SID on Linux) through the operating system's Task Manager, Oracle Enterprise Manager, or through the operating system.

Oracle View Encryption allows you to encrypt data in the view, thereby enhancing the security of sensitive information. The steps include: 1) creating the master encryption key (MEk); 2) creating an encrypted view, specifying the view and MEk to be encrypted; 3) authorizing users to access the encrypted view. How encrypted views work: When a user querys for an encrypted view, Oracle uses MEk to decrypt data, ensuring that only authorized users can access readable data.

Uninstall method for Oracle installation failure: Close Oracle service, delete Oracle program files and registry keys, uninstall Oracle environment variables, and restart the computer. If the uninstall fails, you can uninstall manually using the Oracle Universal Uninstall Tool.

Deleting all data in Oracle requires the following steps: 1. Establish a connection; 2. Disable foreign key constraints; 3. Delete table data; 4. Submit transactions; 5. Enable foreign key constraints (optional). Be sure to back up the database before execution to prevent data loss.

The method to solve the Oracle cursor closure problem includes: explicitly closing the cursor using the CLOSE statement. Declare the cursor in the FOR UPDATE clause so that it automatically closes after the scope is ended. Declare the cursor in the USING clause so that it automatically closes when the associated PL/SQL variable is closed. Use exception handling to ensure that the cursor is closed in any exception situation. Use the connection pool to automatically close the cursor. Disable automatic submission and delay cursor closing.

Oracle Invalid numeric errors may be caused by data type mismatch, numeric overflow, data conversion errors, or data corruption. Troubleshooting steps include checking data types, detecting digital overflows, checking data conversions, checking data corruption, and exploring other possible solutions such as configuring the NLS_NUMERIC_CHARACTERS parameter and enabling data verification logging.

In Oracle, the FOR LOOP loop can create cursors dynamically. The steps are: 1. Define the cursor type; 2. Create the loop; 3. Create the cursor dynamically; 4. Execute the cursor; 5. Close the cursor. Example: A cursor can be created cycle-by-circuit to display the names and salaries of the top 10 employees.
