我有這個存儲過程,這表明了約70,000條記錄,但它需要相當長的時間來運行,即1分4秒如何提高存儲過程的速度?
如何提高它的性能?
SELECT
CASE WHEN c.CardID IS NULL THEN 0 ELSE c.CardID END AS CardID,
CASE WHEN c.Description IS NULL THEN '' ELSE c.Description END AS Description,
CASE WHEN c.Employee_ID IS NULL THEN 0 ELSE Employee_ID END AS Employee_ID,
CASE WHEN c.ExpiryDate IS NULL THEN '1900-01-01' ELSE DATEADD(HOUR,4,c.ExpiryDate) END AS ExpiryDate,
CASE WHEN c.IsActive IS NULL THEN '0' ELSE c.IsActive END AS IsActive,
CASE WHEN c.IssueDate IS NULL THEN '1900-01-01' ELSE DATEADD(HOUR,4,c.IssueDate) END AS 'IssueDate',
CASE WHEN c.PinCode IS NULL THEN 0 ELSE c.PinCode END AS PinCode,
e.EmployeeUniqueID, e.EmployeeName,
ER.EmployerName,
CASE WHEN c.IsActive = '1' THEN 'Activate' ELSE 'Deactivate' END AS Status
FROM
Cards c
RIGHT JOIN
RegisteredEmployees e ON c.Employee_ID = e.ID
INNER JOIN
POSSystem.DBO.Employers ER ON E.Employer_ID = ER.ID
請閱讀如何提出一個很好的SQL問題:http://meta.stackoverflow.com/questions/271055/tips-for-asking-a-good-structured-query-language-sql-問題/ 271056 你也應該發佈解釋計劃 – vercelli
使用相關的子查詢,而不是連接檢查這一個。 http://stackoverflow.com/questions/806015/sql-query-joins-multiple-tables-too-slow-8-tables – cnayak
尋求peformance幫助的問題需要包含,表格模式,涉及的表的數量和當前的執行計劃 – TheGameiswar