![Sort operator icon](https://docs.microsoft.com/en-us/sql/relational-databases/media/sort-32x.gif?view=sql-server-ver15)
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;
![](https://yunusuyanik.com/wp-content/uploads/2020/05/image-45.png)
CREATE INDEX DisplayName ON Users (DisplayName) WITH (ONLINE=ON,FILLFACTOR=90);
![](https://yunusuyanik.com/wp-content/uploads/2020/05/image-46.png)
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