cuốn sách gpt4 ai đã làm

mysql - SQL:特定情况下 INNER JOIN 和 INNER SELECT 之间的区别

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 10:52:57 27 4
mua khóa gpt4 Nike

Tôi bắt đầu học SQL. Và tôi thấy rằng chúng ta thường có thể đạt được kết quả tương tự với sự trợ giúp của JOIN hoặc các câu lệnh chọn bên trong.

Câu hỏi 1 (rộng)Ở đâu :JOIN nhanh hơn lựa chọn nội bộ hoặc ngược lại?

Câu hỏi 2 (hẹp):Bạn có thể giải thích nguyên nhân gây ra sự khác biệt về hiệu suất cho ba truy vấn sau không?

tái búttrang web rất đẹpNó tính toán hiệu suất truy vấn nhưng tôi không thể hiểu được kết quả ước tính của nó.

Truy vấn 1:

CHỌN nhà sản xuất DISTINCT 
TỪ Sản phẩm pro INNER JOIN Máy in pri
trên pro.model = pri.model

Truy vấn 2:

CHỌN nhà sản xuất DISTINCT
TỪ sản phẩm
Ở ĐÂU mô hình TRONG (
CHỌN model TỪ Máy in
)

Truy vấn 3:

CHỌN nhà sản xuất riêng biệt 
TỪ Sản phẩm chuyên nghiệp, Máy in pri
Ở ĐÂU pro.model = pri.model

câu trả lời hay nhất

Khi máy chủ đánh giá THAM GIA, nó khớp với tính tương đương của phép nối, chỉ quét các cột cần thiết cho các giá trị trong các bảng khác và lọc ra mọi thứ khác, việc này thường được thực hiện bằng một thao tác cụ thể.
Khi bạn có truy vấn phụ, máy chủ cần đánh giá kế hoạch của truy vấn phụ trước khi so khớp tương đương THAM GIA, vì vậy, nếu truy vấn phụ không bù đắp được nỗ lực bổ sung trong việc lọc ra nhiều tiếng ồn, bạn sẽ có hiệu suất tốt hơn khi không có truy vấn phụ.

Máy chủ rất thông minh và họ sẽ cố gắng loại bỏ bất cứ thứ gì họ không cần khi đánh giá kết nối. Sau đó, họ cố gắng đạt được hiệu suất tốt nhất bằng cách sử dụng mọi chỉ số có thể, trong đó hiệu suất tốt nhất có nghĩa là điều tốt nhất họ có thể tìm thấy trong một khoảng thời gian giới hạn để bản thân thời gian lên lịch không phá hủy hiệu suất.

Đã thêm sau bình luận của OP
Ước tính O(n) phụ thuộc vào độ phức tạp của truy vấn và truy vấn phụ, nếu quan tâm đến việc xây dựng kế hoạch truy vấn, bạn sẽ phải duyệt phần trợ giúp của cơ sở dữ liệu đã chọn và có thể không tìm thấy nhiều nếu cơ sở dữ liệu không phải là nguồn mở.
Theo thuật ngữ của giáo dân:

  • a Các phép nối đơn giản được đánh giá ở một cấp độ, kế hoạch truy vấn chính
  • Truy vấn con được đánh giá ở hai cấp độ: kế hoạch truy vấn phụ và kế hoạch truy vấn chính.

Một số IDE DB có thể hiển thị bản trình bày trực quan về kế hoạch tổng thể, điều này thường hữu ích trong việc hiểu một số điểm chính (tôi không biết liệu mySQL có hay không)

Về mysql - SQL: Sự khác biệt giữa INNER JOIN và INNER SELECT trong các trường hợp cụ thể, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/23008108/

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress