Tạo chỉ mục là một trong những cách quan trọng nhất để nâng cao tốc độ khi truy vấn dữ liệu. Để tạo đúng chỉ mục, bạn cần hiểu làm sao dữ liệu được sử dụng, các loại truy vấn và trường nào thường xuyên được sử dụng để so sánh và lọc dữ liệu, do đó, việc tạo đúng chỉ mục sẽ nâng cáo tốc độ truy vấn dữ liệu
Ghi chú:
Khi tạo chỉ mục, truy vấn trong câu lệnh SELECT sẽ được cải thiện đáng kể về tốc độ, tuy nhiên các câu lệnh thao tác dữ liệu (INSERT, UPDATE và DELETE) sẽ bị ảnh hưởng, do đó bạn cũng cần cân nhắc khi tạo chỉ mục
Lợi thế của việc sử dụng câu lệnh JOIN là nó sẽ đánh giá các TABLES theo thứ tự khác nhau được định nghĩa trong câu truy vấn. Nói cách khác, thay vì phải thường xuyên duyệt qua tất cả các hàng trong câu SUB-QUERY để đánh giá giá trị, nó chỉ cần đánh giá giá trị dựa trên trường được JOIN trong câu lệnh truy vấn
Cho ví dụ, để xác định tất cả các đơn hàng mà có ít nhất một mặt hàng được giảm giá trên 25%, bạn có thể sử dụng toán tử EXISTS trong câu lệnh SUB-QUERY:
SELECT "Order ID" FROM Orders O
WHERE EXISTS (SELECT "Order ID"
FROM "Order Details" OD
WHERE O."Order ID" = OD."Order ID"
AND Discount >= 0.25)
Bạn có thể viết lại câu lệnh trên sử dụng JOIN:
SELECT DISTINCT O."Order ID" FROM Orders O INNER JOIN "Order Details"
OD ON O."Order ID" = OD."Order ID" WHERE Discount >= 0.25
Thay vì sử dụng truy vấn * (chọn tất cả các trường) trong câu lệnh SELECT, bạn nên chỉ định rõ những trường nào mà bạn cần trong câu lệnh SELECT