SQL Optimization
SQL Optimization
<Trainer-Name>
Using:
SELECT name FROM employee
WHERE (salary, age) = (SELECT MAX (salary), MAX (age)
FROM employee_details) AND dept = 'Electronics';
Instead of:
SELECT name FROM employee
WHERE salary = (SELECT MAX(salary) FROM employee_details)
AND age = (SELECT MAX(age) FROM employee_details)
AND emp_dept = 'Electronics';
Using:
Select * from product p
where EXISTS (select * from order_items
o
where o.product_id = p.product_id)
Instead of:
Select * from product p
where product_id IN
(select product_id from order_items )
Using:
SELECT product_id, product_name
FROM product
WHERE unit_price BETWEEN MAX(unit_price)
and MIN(unit_price)
Instead of:
SELECT product_id, product_name
FROM product
WHERE unit_price >= MAX(unit_price)
and unit_price <= MIN(unit_price)
Nhất thiết phải chỉ định item trong câu lệnh INSERT.
Table-A
Key1
CHAR(1)
Col1
CHAR(1)
① INSERT
Col2 INTO Table-A VALUES ( ‘1’ ,‘A’,‘X’ )
② INSERT
CHAR(1) INTO Table-A ( Key1,Col1,Col2 )
VALUES ( ‘1’ ,‘A’,‘X’ )
© ©FPT
FPTSOFTWARE
SOFTWARE– –TRAINING 18 – Internal use
TRAINING MATERIAL
MATERIAL 04e-BM/DT/HDCV/FSOFT
04e-BM/NS/HDCV/FSOFT v2/4
v2.2
SQL Optimization Tips 12.2/12
Ví dụ sử dụng mệnh đề ON
SQL không dùng mệnh đề ON SQL có sử dùng mệnh đề ON
Bảng thực hiện JOIN và các điều kiện Bảng thực hiện JOIN và các điều kiện
của nó bị tách ra nên khó đọc câu lệnh của nó ở cùng một chỗ thì sẽ dễ đọc câu
SQL . lệnh SQL.
© ©FPT
FPTSOFTWARE
SOFTWARE– –TRAINING 19 – Internal use
TRAINING MATERIAL
MATERIAL 04e-BM/DT/HDCV/FSOFT
04e-BM/NS/HDCV/FSOFT v2/4
v2.2
Q&A
Q&A