Query optimization là gì?

Noun Database
Tối ưu truy vấn

Tối ưu truy vấn (query optimization) là một tính năng của nhiều hệ quản trị cơ sở dữ liệu quan hệ (relational database management system) và các cơ sở dữ liệu khác như cơ sở dữ liệu đồ thị (graph database). Trình tối ưu truy vấn (query optimizer) cố gắng xác định cách hiệu quả nhất để thực hiện một truy vấn (query) nhất định bằng cách xem xét các query plan có thể có.

Nói chung, người dùng không thể truy cập trực tiếp trình tối ưu truy vấn. Sau khi các truy vấn được gửi đến máy chủ cơ sở dữ liệu (database server) và được phân tích (parse) bới trình phân tích cú pháp (parser), chúng sẽ được chuyển đến trình tối ưu truy vấn nơi tối ưu xảy ra.

Truy vấn là một yêu cầu thông tin từ cơ sở dữ liệu. Nó có thể đơn giản như "tìm địa chỉ của người có số An sinh xã hội 123-45-6789". Kết quả của một truy vấn được tạo ra bằng cách xử lý các hàng (row) trong cơ sở dữ liệu theo cách mang lại thông tin được yêu cầu. Vì cấu trúc cơ sở dữ liệu rất phức tạp, trong hầu hết các trường hợp, và đặc biệt là đối với các truy vấn không quá đơn giản, nên dữ liệu cần thiết cho một truy vấn có thể được thu thập từ cơ sở dữ liệu bằng cách truy cập nó theo những cách khác nhau, thông qua các cấu trúc dữ liệu khác nhau và theo các thứ tự khác nhau. Mỗi cách khác nhau thường yêu cầu thời gian xử lý khác nhau. Thời gian xử lý của cùng một truy vấn có thể có phương sai (variance) lớn, từ một phần giây đến hàng giờ, tùy thuộc vào phương pháp đã chọn. Mục đích của tối ưu truy vấn (query optimization) là tìm cách xử lý một truy vấn nhất định trong thời gian tối thiểu.

Learning English Everyday