Forum
Merhaba ,
Sql serverda parallel(MAXDOP) çalışan select ve insört yazmak istiyorum .Nasıl yapabilirim.Birde yazılımsal olarak mesala parallel özelliğini enable yapma , table parallell özelliği verme ve daha sonra ise parallel özelliği disable etme ve table parallel özelliği geri alma gibi bir script falan var mıdır?(Oracle 'da buna benzer bir script varda)
bunun haricinde maxdop parametresi sql server da genel bir parametredir. sp_configure sp si ile erişebilirsin. default u sıfırdır ve bütün core cpu ları kullan manasına gelmektedir. OLTP sistemlerde 1 yapılması, dwh sistemlerde ise cpu sayısına göre max cpu adedi ya da daha az yapılması önerilir.maxdop kullanarak yapılmış örnek bir script i aşağıda bulabilirsin.
USE AdventureWorks2008R2 ;
GO
SELECT ProductID, OrderQty, SUM(LineTotal) AS Total
FROM Sales.SalesOrderDetail
WHERE UnitPrice < $5.00
GROUP BY ProductID, OrderQty
ORDER BY ProductID, OrderQty
OPTION (MAXDOP 2);
GO
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'max degree of parallelism' 8
GO
Böyle ayarlarsam olur mu?
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'max degree of parallelism' 8
GOBöyle ayarlarsam olur mu?
şu şekilde düzeltelim.
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'max degree of parallelism',8
GO
RECONFIGURE
Bu kod MaxDOP u 8 yapar. 8 core parallel olarak kullanılabilir.
Merhaba,
Bende şu şekilde düzeltme yapıyım. 🙂
EXEC sp_configure 'show advanced option', '1'
RECONFIGURE
GO
sp_configure 'max degree of parallelism', 0
RECONFIGURE
GO
Ayrıca DOP kullanmanın iki ayrı yolu vardır.Ayrıca yukarıdaki gösterimden farklı olarak ;
-->> SELECT * FROM master..sysprocesses OPTION (MAXDOP4) olarak kullanılabilir.Buradaki "4" SQL için ayrılan işlemci sayısıdır.Bu T-SQL deyimi düzeyindedir.Yukarıdaki örnek ise database seviyesinde ayardır.Fakat benim tavsiyem oradaki rakamı "4" olarak ayarlayın.En iyisi bu olacaktır.
Kolay gelsin.