Home Database Oracle What should I do if Oracle query is slow?

What should I do if Oracle query is slow?

Jul 22, 2020 pm 04:05 PM
oracle

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.

What should I do if Oracle query is slow?

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!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to check tablespace size of oracle How to check tablespace size of oracle Apr 11, 2025 pm 08:15 PM

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_

How to view instance name of oracle How to view instance name of oracle Apr 11, 2025 pm 08:18 PM

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.

How to encrypt oracle view How to encrypt oracle view Apr 11, 2025 pm 08:30 PM

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.

How to uninstall Oracle installation failed How to uninstall Oracle installation failed Apr 11, 2025 pm 08:24 PM

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.

How to delete all data from oracle How to delete all data from oracle Apr 11, 2025 pm 08:36 PM

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.

How to solve the problem of closing oracle cursor How to solve the problem of closing oracle cursor Apr 11, 2025 pm 10:18 PM

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.

How to check invalid numbers of oracle How to check invalid numbers of oracle Apr 11, 2025 pm 08:27 PM

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.

How to create cursors in oracle loop How to create cursors in oracle loop Apr 12, 2025 am 06:18 AM

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.

See all articles