SQL Server có thực hiện các truy vấn song song không?


10

SQL Server có thực hiện các truy vấn song song không? Nói cách khác, nếu tôi chạy một truy vấn nặng phải mất 10 giây để thực thi và đồng thời bắt đầu một truy vấn nặng khác mất 10 giây, thì truy vấn thứ hai sẽ thực sự bắt đầu sau 10 giây, hoặc chúng sẽ bắt đầu cả hai cùng một lúc ?


1
không có câu trả lời thực sự nào, hãy đọc về cơ chế kết nối và khóa kết nối

2
Liên quan nhiều hơn để đọc về các nhân viên SQL Server và cơ chế lập lịch hợp tác IMO. Nói chung, câu trả lời cho câu hỏi của bạn là "có".
Martin Smith

Câu trả lời:


14

Bạn có nghĩa là "đồng thời". Câu trả lời là có, với những lời cảnh báo quá rộng để thảo luận ở đây. Trong thực tế, toàn bộ quan điểm của RDBMS là đồng thời.

"Song song" có ý nghĩa chính xác trong SQL Server: "một truy vấn duy nhất được phân phối trên nhiều lõi xử lý".


6

Miễn là truy vấn đầu tiên của bạn không khóa một bảng cần thiết trong truy vấn thứ hai của bạn, chúng sẽ chạy song song.


5

Các truy vấn chạy song song, càng xa càng tốt.

Cơ sở dữ liệu sử dụng các khóa khác nhau để đọc và ghi, trên các hàng, khối hoặc toàn bộ bảng, tùy thuộc vào những gì bạn làm.

Nếu một truy vấn chỉ đọc từ một bảng, một truy vấn khác cũng có thể đọc từ cùng một bảng cùng một lúc. Nếu một truy vấn cập nhật một số bản ghi trong bảng, một truy vấn khác vẫn có thể đọc được từ bảng miễn là nó không đọc bất kỳ bản ghi nào bị khóa để cập nhật.


2

Phụ thuộc vào dữ liệu - thông thường chúng chạy song song, nhưng một số tình huống khóa có thể khiến một truy vấn chờ một truy vấn khác. Tất nhiên, nếu hệ thống con đĩa yếu và bạn không có nhiều RAM, nhiều truy vấn có thể chạy chậm hơn.


0

DDL (ngôn ngữ định nghĩa dữ liệu) hoạt động song song như câu lệnh CHỌN
DML (Ngôn ngữ được sửa đổi dữ liệu) không hoạt động song song như câu lệnh INSERT và UPDATE


CHỌN không phải là câu lệnh DDL
a_horse_with_no_name

-1

Nếu bạn đang viết các truy vấn như bên dưới ... nó sẽ chạy song song

SET XACT_ABORT ON
Begin Try
     Begin Tran
        --Your Sql Statement
     Commit Tran
End Try
Begin Catch
    Rollback Tran
End Catch

Lưu ý - Truy vấn song song của bạn sẽ ở trạng thái chờ trong trường hợp có bất kỳ chèn số lượng lớn nào trong bảng

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.