SET STATISTICS TIME ON
SELECT ProductID, StartDate, EndDate, StandardCost FROM Production.ProductCostHistory WHERE StandardCost < 500.00;
SQL Server parse and compile time: CPU time = 0 ms, elapsed time = 1 ms. (269 row(s) affected) SQL Server Execution Times: CPU time = 1 ms, elapsed time = 2 ms.
-
زمان کامپایل و تجزیه و تحلیل ( parse and compile time) : زمانیکه یک کوئری را برای اجرا به SQL Server ارائه میدهید، SQL Server آنرا از نظر خطای نحوی بررسی مینماید و بهینه ساز یک نقشه بهینه را برای اجرا تولید مینماید. اگر به خروجی نگاه کنید، زمان پردازش ( CPU time) و زمان سپری شده ( elapsed time) را نشان می دهد. منظور از زمان پردازش زمان واقعی صرف شده روی پردازنده میباشد و زمان سپری شده اشاره به زمان تکمیل شدن عملیات کامپایل و تجزیه و تحلیل میباشد. تفاوت بین زمان پردازش و زمان سپری شده ممکن است زمان انتظار در صف برای گرفتن پردازنده و یا انتظار برای تکمیل عملیات IO باشد.
-
زمان اجرا ( Execution Times) : این زمان اشاره به زمان سپری شده برای تکمیل اجرای نقشه کامپایل شده دارد. زمان پردازش اشاره به زمان واقعی صرف شده روی پردازنده دارد و زمان سپری شده نیز مجموع زمان صرف شده تا تکمیل اجرای دستور که شامل زمان انتظار برای تکمیل عملیات IO و زمان صرف شده برای انتقال خروجی به کلاینت میباشد، دارد. زمان پردازش میتواند به عنوان مبنایی برای اندازهگیری کارآیی مورد استفاده قرار بگیرد. این مقدار در اجراهای مختلف تفاوت چندانی با هم ندارند جز اینکه کوئری و یا دادهها تغییر نمایند. توجه نمایید که زمان براساس میلی ثانیه میباشد. زمان سپری شده نیز به فاکتورهایی مانند بارگذاری روی سرور، بارگذاری IO، و پهنای باند بین سرور و کلاینت وابسته میباشد. بنابراین همیشه زمان پردازش به عنوان مبنایی برای اندازهگیری کارایی استفاده میشود .