SQL Sort operatörü #ExecutionPlanOperators

Sort operator icon

Sort Operatörü nedir?

Sonuç kümesinin sıralanması istendiğinde ya da Database Engine bazı durumlarda sıralama işlemi yapmaya karar verdiğinde ortaya çıkan mantıksal ve fiziksel execution plan operatörüdür.

Ne zaman ortaya çıkar?

  • ORDER BY kullanımlarında Query Optimizer’ın seçtiği index’te ORDER kolonu yok veya sıralanmamış ise,
  • JOIN kullanımlarında verilerin sıralı olması gerekiyor ise

Demo

--Clustered Index
ALTER TABLE [dbo].[Users] ADD  CONSTRAINT [PK_Users_Id] PRIMARY KEY CLUSTERED ([Id] ASC)

SELECT DisplayName
FROM Users 
ORDER BY DisplayName;
CREATE INDEX DisplayName ON Users (DisplayName) WITH (ONLINE=ON,FILLFACTOR=90);

SORT operatörü yüksek CPU kullanımıyla tanınır, bu sebeple execution plan üzerinde görüldüğünde müdahale edilmesi gerek noktalardandır zaten genelde yüksek cost’lu olurlar.

1 yorum

Yorum Gönderin

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.