SQL Server sorguları paralel olarak yürütüyor mu?


10

SQL Server sorguları paralel olarak yürütüyor mu? Başka bir deyişle, yürütmek için 10 saniye süren ağır bir sorgu çalıştırırsam ve aynı zamanda 10 saniye süren başka bir ağır sorgu başlatırsam, ikinci sorgu aslında 10 saniye sonra başlayacak mı yoksa her ikisi de aynı anda başlayacak mı? ?


1
gerçek bir yanıt mümkün değil, bağlantı havuzu oluşturma ve kilitleme mekanizması hakkında bilgi edinin

2
SQL Server çalışanlarına ve kooperatif zamanlama mekanizmasına IMO okumak için daha alakalı. Genel olarak sorunuzun cevabı "evet" tir.
Martin Smith

Yanıtlar:


14

"Eşzamanlı" demek istiyorsun. Cevap evet, burada tartışmak için çok geniş uyarılar var. Aslında, RDBMS'nin bütün mesele eşzamanlılıktır.

"Paralel" SQL Server'da kesin bir anlama sahiptir: "tek bir sorgu birden fazla işlemci çekirdeğine dağıtılır".


6

İlk sorgunuz ikinci sorgunuzda gereken bir tabloyu kilitlemediği sürece paralel olarak çalışırlar.


5

Sorgular mümkün olduğunca paralel çalışır.

Veritabanı, ne yaptığınıza bağlı olarak, satırlar, bloklar veya tüm tablolarda okuma ve yazma için farklı kilitler kullanır.

Bir sorgu yalnızca bir tablodan okursa, başka bir sorgu aynı anda aynı tablodan da okuyabilir. Bir sorgu bir tablodaki bazı kayıtları güncelleştirirse, güncelleştirme için kilitlenmiş herhangi bir kaydı okumadığı sürece başka bir sorgu yine de tablodan okuyabilir.


2

Verilere bağlıdır - genellikle paralel çalışırlar, ancak bazı kilitleme senaryoları bir sorgunun diğerini beklemesine neden olabilir. Tabii ki disk alt sistemi zayıfsa ve çok fazla RAM'iniz yoksa, birden çok sorgu daha yavaş çalışabilir.


0

DDL (veri tanımlama dili) SELECT deyimi gibi paralel çalışır
DML (Veri değiştirilmiş dil) INSERT ve UPDATE deyimi gibi paralel çalışmaz


SELECT bir DDL ifadesi değil
a_horse_with_no_name

-1

Aşağıdaki gibi sorguları yazıyorsanız ... paralel olarak çalışacaktır

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

Not - Tabloda toplu ekleme yapılması durumunda paralel sorgunuz bekleme durumunda olacaktır

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.