Roadmap to becoming a developer in 2022
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

67 lines
2.5 KiB

# Performance Optimization
SQL performance optimization is crucial for accelerating SQL queries and improving overall database performance. Most importantly, it ensures smooth and efficient execution of SQL statements, which can result in better application performance and user experience.
## 1. Indexes
Creating indexes is one of the prominent ways to optimize SQL performance. They accelerate lookup and retrieval of data from a database.
```sql
CREATE INDEX index_name
ON table_name (column1, column2, ...);
```
Remember, though indexes speed up data retrieval, they can slow down data modification such as `INSERT`, `UPDATE`, and `DELETE`.
## 2. Avoid SELECT *
Get only the required columns instead of fetching all columns using `SELECT *`. It reduces the amount of data that needs to be read from the disk.
```sql
SELECT required_column FROM table_name;
```
## 3. Use Join Instead of Multiple Queries
Using join clauses can combine rows from two or more tables in a single query based on a related column between them. This reduces the number of queries hitting the database, improving performance.
```sql
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
```
## 4. Use LIMIT
If only a certain number of rows are necessary, use the LIMIT keyword to restrict the number of rows returned by the query.
```sql
SELECT column FROM table LIMIT 10;
```
## 5. Avoid using LIKE Operator with Wildcards at the Start
Using wildcard at the start of a query (`LIKE '%search_term'`) can lead to full table scans.
```sql
SELECT column FROM table WHERE column LIKE 'search_term%';
```
## 6. Optimize Database Schema
Database schema involves how data is organized and should be optimized for better performance.
## 7. Use EXPLAIN
Many databases have 'explain plan' functionality that shows the plan of the database engine to execute the query.
```sql
EXPLAIN SELECT * FROM table_name WHERE column = 'value';
```
This can give insight into performance bottlenecks like full table scans, missing indices, etc.
## 8. Denormalization
In some cases, it might be beneficial to denormalize the database to a certain extent to reduce complex joins and queries. Keep in mind that this is usually the last resort and may not always yield the desired results.
Remember, each query and database is unique, so what might work in one scenario might not work in another. It is always crucial to test the queries in a controlled and isolated environment before pushing them into production.