เมื่อฉันส่งแบตช์ (เช่นทำแบบสอบถาม) ใน SSMS ฉันเห็นเวลาที่ใช้ในการดำเนินการในแถบสถานะ เป็นไปได้หรือไม่ที่จะกำหนดค่า SSMS ให้แสดงเวลาสอบถามด้วยความละเอียดมิลลิวินาที?
นี่คือบาร์ที่ฉันกำลังพูดถึงด้วยส่วนที่น่าสนใจวนเป็นสีแดง:
เมื่อฉันส่งแบตช์ (เช่นทำแบบสอบถาม) ใน SSMS ฉันเห็นเวลาที่ใช้ในการดำเนินการในแถบสถานะ เป็นไปได้หรือไม่ที่จะกำหนดค่า SSMS ให้แสดงเวลาสอบถามด้วยความละเอียดมิลลิวินาที?
นี่คือบาร์ที่ฉันกำลังพูดถึงด้วยส่วนที่น่าสนใจวนเป็นสีแดง:
คำตอบ:
ฉันกำลังดิ้นรนกับสิ่งนั้นจนกระทั่งฉันพบสิ่งนี้ ...
นอกจากนี้หากคุณเปิดหน้าต่างคุณสมบัติคุณอาจพบว่ามี "เวลาการเชื่อมต่อผ่าน" ที่น่าอัศจรรย์ซึ่งอาจทำให้คุณมีเวลาดำเนินการ ... หวังว่ามันจะช่วย ...
สิ่งที่คุณต้องการทำคือ:
set statistics time on
-- your query
set statistics time off
ที่จะให้ผลลัพธ์ที่ออกมาเป็นแบบนี้ในหน้าต่างข้อความของคุณ:
เวลาดำเนินการของ SQL Server: เวลา CPU = 6 ms, เวลาที่ผ่านไป = 6 ms
เปิดสถิติลูกค้าโดยทำอย่างใดอย่างหนึ่งต่อไปนี้:
จากนั้นคุณจะได้รับแท็บใหม่ที่บันทึกเวลา, ข้อมูล IO และ rowcounts สำหรับ (สูงสุด) 10 ตัวสุดท้าย (บวกค่าเฉลี่ย!):
ในการรับเวลาดำเนินการเป็นตัวแปรใน proc ของคุณ:
DECLARE @EndTime datetime
DECLARE @StartTime datetime
SELECT @StartTime=GETDATE()
-- Write Your Query
SELECT @EndTime=GETDATE()
--This will return execution time of your query
SELECT DATEDIFF(ms,@StartTime,@EndTime) AS [Duration in millisecs]
และดูสิ่งนี้
การวัดประสิทธิภาพการค้นหา: "ต้นทุนการดำเนินการแบบสอบถามแผน" เทียบกับ "เวลาที่ใช้"
ฉันเป็นเหมือนเดิมและสะดุดผ่านลิงค์ต่อไปนี้ซึ่งยอดเยี่ยม:
http://www.sqlserver.info/management-studio/show-query-execution-time/
มันแสดงให้เห็นถึงสามวิธีในการวัดประสิทธิภาพ ทุกอย่างดีสำหรับจุดแข็งของตนเอง สิ่งที่ฉันเลือกใช้มีดังนี้:
DECLARE @ Time1 DATETIME
DECLARE @ Time2 DATETIME
SET @ Time1 = GETDATE ()
- แทรกข้อความค้นหาที่นี่
SET @ Time2 = GETDATE ()
เลือก DATEDIFF (MILLISECOND, @ Time1, @ Time2) AS Elapsed_MS
สิ่งนี้จะแสดงผลลัพธ์จากข้อความค้นหาของคุณตามด้วยเวลาที่ใช้ในการดำเนินการให้เสร็จสมบูรณ์
หวังว่านี่จะช่วยได้
ฉันไม่รู้เกี่ยวกับการขยายแถบข้อมูล
แต่คุณจะได้รับการตั้งค่าเวลาเป็นค่าเริ่มต้นสำหรับข้อความค้นหาทั้งหมดที่แสดงในแท็บ "ข้อความ"
เมื่ออยู่ในหน้าต่าง Query ให้ไปที่รายการเมนู Query เลือก "ตัวเลือกแบบสอบถาม" จากนั้นเลือก "ขั้นสูง" ในกลุ่ม "Execution" และทำเครื่องหมายในช่องทำเครื่องหมาย "กำหนดสถิติเวลา" / "กำหนดสถิติ IO" ค่าเหล่านี้จะปรากฏในพื้นที่ข้อความของแต่ละแบบสอบถามโดยไม่ต้องจำไว้ว่าต้องใส่ในและปิดสถิติตั้งค่า
คุณสามารถใช้ Shift + Alt + S เพื่อเปิดใช้งานสถิติลูกค้าได้ตลอดเวลา
คุณสามารถลองรหัสนี้:
USE AdventureWorks2012;
GO
SET STATISTICS TIME ON;
GO
SELECT ProductID, StartDate, EndDate, StandardCost
FROM Production.ProductCostHistory
WHERE StandardCost < 500.00;
GO
SET STATISTICS TIME OFF;
GO