SQL Server'da Sorgu Performansını İyileştirme
Dean Smith
Founder, Atamai Analytics

SELECT UNStatisticalRegion,
CountryName,
Capital
FROM Nations
WHERE Capital IN
(SELECT CityName
FROM Cities)
AND Capital IN
(SELECT CityName
FROM Cities
WHERE Pop2017 > 1000000);
STATISTICS TIME - komutu bir sorguyu ayrıştırmak, derlemek ve yürütmek için gereken milisaniyeleri raporlar.
SQL Server ayrıştırma ve derleme süresi:
CPU süresi = 16 ms, geçen süre = 21 ms.
(88 satır etkilendi)
SQL Server Yürütme Süreleri:
CPU süresi = 390 ms, geçen süre = 382 ms.
SQL Server Yürütme Süreleri:
CPU süresi = 390 ms, geçen süre = 382 ms.
SELECT UNStatisticalRegion,
CountryName,
Capital
FROM Nations
WHERE Capital IN
(SELECT CityName -- 1. alt sorgu
FROM Cities)
AND Capital IN
(SELECT CityName -- 2. alt sorgu
FROM Cities
WHERE Pop2017 > 1000000);
SET STATISTICS TIME ON
SELECT UNStatisticalRegion,
CountryName,
Capital
FROM Nations
WHERE Capital IN
(SELECT CityName -- 1. alt sorgu
FROM Cities)
AND Capital IN
(SELECT CityName -- 2. alt sorgu
FROM Cities
WHERE Pop2017 > 1000000);
SQL Server Yürütme Süreleri:
CPU süresi = 391 ms, geçen süre = 381 ms.
SELECT UNStatisticalRegion,
CountryName,
Capital
FROM Nations n
WHERE EXISTS
(SELECT 1
FROM Cities c
WHERE n.Capital = c.CityName
AND Pop2017 > 1000000);
SQL Server Yürütme Süreleri:
CPU süresi = 0 ms, geçen süre = 2 ms.
SELECT UNStatisticalRegion,
CountryName,
Capital
FROM Nations n
WHERE EXISTS
(SELECT 1
FROM Cities c
WHERE n.Capital = c.CityName
AND Pop2017 > 1000000);
SET STATISTICS TIME OFF
SQL Server Yürütme Süreleri:
CPU süresi = 0 ms, geçen süre = 2 ms.
SELECT UNStatisticalRegion,
CountryName,
Capital
FROM Nations
WHERE Capital IN
(SELECT CityName
FROM Cities)
AND Capital IN
(SELECT CityName
FROM Cities
WHERE Pop2017 > 1000000);
SQL Server Yürütme Süreleri:
CPU süresi = 391 ms, geçen süre = 381 ms.
EXISTS kullanan ikinci sorguSELECT UNStatisticalRegion,
CountryName,
Capital
FROM Nations n
WHERE EXISTS
(SELECT 1
FROM Cities c
WHERE n.Capital = c.CityName
AND Pop2017 > 1000000);
SQL Server Yürütme Süreleri:
CPU süresi = 0 ms, geçen süre = 2 ms.
Geçen süre
CPU süresi
geçen süre = 2032 ms.
geçen süre = 2060 ms.
geçen süre = 1915 ms.
geçen süre = 4009 ms.
geçen süre = 3511 ms.
Ortalama geçen süre = 2705 ms.
SQL Server'da Sorgu Performansını İyileştirme