|
srss 2008, производительность
#37800638
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
|
|
|
|
Добрый день!
Я написал отчет. Работает он медленно.
Подскажите, пожалуйста, можно ль как-то оптимизировать запрос (ссылки на литературу тематическую приветствуются).
Спасибо!
сам запрос:
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
SELECT FilteredNew_project.new_group_prodname, FilteredNew_project.new_name AS project_name, FilteredNew_object.new_objectid AS obj_obj_id,
FilteredNew_object.new_objs AS Expr130, P.Prod_id, P.quant, P.obj_id, P.kind, FilteredNew_object.new_name AS object_name, FilteredNew_object.new_objsname,
FilteredNew_object.new_project, FilteredNew_object.new_projectname, FilteredNew_project.new_goal, FilteredNew_project.new_goalname,
FilteredNew_project.new_objectid, FilteredNew_project.new_objectidname, P.U, FilteredNew_project.new_rynoksname, P.Date3,
FilteredNew_object.new_podryadchikname, FilteredNew_object.new_zakazzzname, FilteredNew_object.new_projectirname, FilteredNew_object.new_finishdate,
P.kolvo, FilteredNew_object.new_accountidname, FilteredNew_project.new_projectid, FilteredNew_object.new_sostoyaniename, P.pr_id
FROM FilteredNew_project INNER JOIN
FilteredNew_object ON FilteredNew_object.new_objs = FilteredNew_project.new_projectid INNER JOIN
(SELECT FilteredOpportunityProduct.productidname AS Prod_id, CAST(FilteredOpportunityProduct.baseamount AS numeric(26, 2)) AS quant,
FilteredOpportunityProduct.uomidname AS U, FilteredOpportunity.new_object AS obj_id, 'Возможные сделки' AS kind,
FilteredOpportunity.estimatedclosedate AS Date3, FilteredOpportunityProduct.quantity AS kolvo, FilteredOpportunityProduct.productid AS pr_id
FROM FilteredOpportunity INNER JOIN
FilteredOpportunityProduct ON FilteredOpportunityProduct.opportunityid = FilteredOpportunity.opportunityid
UNION
SELECT FilteredSalesOrderDetail.productidname AS Prod_id, CAST(FilteredSalesOrderDetail.baseamount AS numeric(26, 2)) AS quant,
FilteredSalesOrderDetail.uomidname AS U, FilteredSalesOrder.new_objected AS obj_id, 'Заказы' AS kind,
FilteredSalesOrder.requestdeliveryby AS Date3, FilteredSalesOrderDetail.quantity AS kolvo, FilteredSalesOrderDetail.productid AS pr_id
FROM FilteredSalesOrder INNER JOIN
FilteredSalesOrderDetail ON FilteredSalesOrder.salesorderid = FilteredSalesOrderDetail.salesorderid) AS P ON
FilteredNew_object.new_objectid = P.obj_id
WHERE (ISNULL(FilteredNew_project.new_rynoksname, N'*Рынок не указан') IN (@rynok)) AND (ISNULL(YEAR(P.Date3), N'1985') IN (@year1))
UNION
SELECT FilteredNew_project_1.new_group_prodname, FilteredNew_project_1.new_name AS project_name, NULL AS new_obj_obj_id, NULL AS Expr130, M.Prod_id,
M.quant, NULL AS obj_id, M.kind, NULL AS object_name, NULL AS new_objsname, NULL AS new_project, NULL AS new_projectname, NULL AS new_goal, NULL
AS new_goalname, NULL AS new_objectid, NULL AS new_objectidname, M.U, FilteredNew_project_1.new_rynoksname, M.Date3, NULL
AS new_podryadchikname, NULL AS new_zakazzzname, NULL AS new_projectirname, NULL AS new_finishdate, M.kolvo, NULL AS new_accountidname,
FilteredNew_project_1.new_projectid, NULL AS new_sostoyaniename, M.pr_id
FROM FilteredNew_project AS FilteredNew_project_1 INNER JOIN
(SELECT FilteredSalesOrderDetail_1.productidname AS Prod_id, CAST(FilteredSalesOrderDetail_1.baseamount AS numeric(26, 2)) AS quant,
FilteredSalesOrderDetail_1.uomidname AS U, FilteredSalesOrder_1.new_projectid AS obj_id, 'Заказы' AS kind,
FilteredSalesOrder_1.requestdeliveryby AS Date3, FilteredSalesOrderDetail_1.quantity AS kolvo, FilteredSalesOrderDetail_1.productid AS pr_id
FROM FilteredSalesOrder AS FilteredSalesOrder_1 INNER JOIN
FilteredSalesOrderDetail AS FilteredSalesOrderDetail_1 ON FilteredSalesOrder_1.salesorderid = FilteredSalesOrderDetail_1.salesorderid) AS M ON
M.obj_id = FilteredNew_project_1.new_projectid
WHERE (ISNULL(FilteredNew_project_1.new_rynoksname, N'*Рынок не указан') IN (@rynok)) AND (ISNULL(YEAR(M.Date3), N'1985') IN (@year1))
|
|
|