??????????? ?????????????????? ???????? SQL Server

Published on Март 5, 2009 by   ·   Комментариев нет

? ???????? ??????????? ??????? ???? ?????? ????????? ????????? ?????????????????? ????????? ????????. ??? ??? ?? (? ????? ????, ? ?????) ?????, ??? ????????? ?????? ?????????, ???????? ?? ?????????????????? ???????, ???????? ???????????? ??????????? ? ???????????? ???????????.

???? ???? ?????? ???? ?????? ?????????? ????? ?????? ?????????? ??????????? ?? ?????, ????????? ????? ???? ??????? ???????? ????? ????? ?????????? ?? ??? ??????????????????. ??????????, ???? ???? ????????? ?????? (?????? ?? ???????? ?????????? ??-??? ?????????) ????? ??????? ????????? ???????? ?????????????????? ???? ??????.

????????, ?????? ????????? ?????? ???????? ??????? ??? ????? ??????????? ???????? ????? ?????? ???????? ?????????????????? ???? ??????. ? ???? ?????? ? ???????? ??????????? ????????? ??????????, ??????? ????? ???????????? ??? ????????????? ??? ?????? ????????? ????? ??????? ? ????? ?????????? ???????? ? ???????.

?????? ?????? ??????????

?????? ??? ????????? ????????? ???????? ????? ?????? ? ???????????? ????? ?????????? ???????. ? ??? ??????? ?????????????????? ?????????? ? ?????????? ????????, ??????? SQL ServerTM ?????????? ??? ?????????? ??????? ? ?????? ????????? ?????? ???????????. ???? ?????????? ??????? ? ???? ??????????? ????????? ??????? ????????? ???? ???? ??????, ??????? ?????????? ????????????? ????????, ???????? ?? ???????? ????? ????????? ????????, ???????? ?????????????? ? ??????? ????????? ??????, ??????????????? ??????? ? ??????? ???????????, ?????? ???????????? ???????? ? ??????? ???????? ????????, ??????? ????? ???????????? ? ???????? ??????????? ????? ??????? ? ??????.

? ??????? ???????? ?????????? ???? ????????? ???????????? ????? ???? ????????, ??????? ??????????? ???????? ?? ????????? ??? ???????????, ? ???????? ????? ???????????? ??? ??????? ??????? ????. ???? ? ???, ??? ????? ????????? ???? ???????? ?? ??????. ???? ???? ?? ??? ???? ????????, ????????? ?????? ???? ???????????? ??? ?????????? ?????????? ????? ????? ?????????? ?? ???? ??????? ? ??????????????????. ? ????? ?????? ?????????????? ???? ?????? ????? ?????? ??????? ? ??? ???????????.

?????????? ????????? ???????? ?????????? ????? ?????????? ???????:

  • ? Management Studio ???? ??????? ??????????? ????????? ? ???????????????? ????? ??????????, ?????????????? ???? ? ??????????? ?????. ??? ???????? ??????? ??????????? ???????????????? ???????? ?, ?? ???????? ?????, ???????? ????? ???????????? ?????? ??????????? ? ??????? ?????? ?????????? (??????? ?? ???? ?????? ? ???? ?????????????? ???????????? ???????, ?????????? ?????? ????? ????????).
  • ????????? ????????? SET, ????????, SHOWPLAN_XML ? SHOWPLAN_ALL, ?????????? ???? ?????????? ? ???? ????????? XML, ???????????? ???? ? ???? ??????????? ?????, ??? ?????? ????? ? ????????? ????????? ?????? ????????.
  • ?????? ??????? ?????????? SQL Server, ????????, Showplan XML, ????????? ???????? ????? ?????????? ????????? ??????? ???????????.

???? XML-????????????? ????? ?????????? ?? ????? ??????? ??? ???????????? ??????, ??? ??????? ????????? ???????????? ?????????????? ?????????? ????????? ? ????????? ????????? ??? ???????, ?????? ??????? ? ??????????????????? ? ??????????? ??????????? ??????. ????????????? ?? ???? XML ????? ????????? ? ???? ? ??????????? sqlplan, ????????? ? Management Studio ? ????????? ??????????? ?????????????. ????? ????, ??? ????? ????? ????????? ??? ???????????? ??????? ??? ????????????? ?????????????? ?? ?????? ???, ??? ???? ?????? ???????????. ??? ???????? ??????? ??? ????????? ?????? ? ????????? ??????????? ?? ???????? ?????????.

?????? ????????? ??????????

??????, ??? ????? ?????? ? ??? ??? ???????????? ????? ??????????. SQL Server ?????????? ??????????? ??????? ?? ?????? ?????????, ?? ???? ???????? ??????? ???? ?????????? ? ??????????? ????????? ??????????. ?????? ???????????? ?? ?????? ?????????? ????????????? ????????? ???????????? ?? ?????? ???????? ?????? ?????????????? ? ??????? ??????? ??????. ???? ????? ?????????? ??? ??? ??? ??? ????????, ???????????? ??????? ?? ?????? ??????????? ?????????? ? ??????, ?????? ?????, ???????? ????????. ? ????? ??????? ??????????? ?????????? ??? ?????????? ????????? ?????????? ????????? ?????? ? ??????? ?? ????? ???????????.

?????????? ????????? ????????????????, ?? ???????? ????????????? ? ??????????????? ????????? ??????????. ???????? ????? ?????????, ??? ??????????????? ????????? ?????????? ???????? ??????? ??????????? ????, ??????? ??????? ?????? ?????????? ??????? ? ??? ??? ?????? ????????? ???????? ??????? ????? ?? ??????. ??? ???????. ??-??????, ???? ????? ?????????? ?????????? ????, ? ????? ???????? ?????????? ??????????????? ????????? ? ????? ?? ??? ???????????????? ????????? ?? ??????? ??????????. ??-??????, ????????? ???????? ??? ?????????????? ? ????? ????????? ?????????, ????? ? ???????? ?????????? ????????? ?????? ??????????? ??????????? ??????????? ? ????? ?????? ??, ?????/?????? ? ??????? ??????????, ???????? ?? ???????????????? ??????? ?????????. ??? ????? ????????? ? ?????????, ??? ????????????? ????????? ??????????. ????????? ?????????? ?? ??? ?? ??????????, ??????????? ???????? ????? ????????????, ??? ? ??????? ???? ????? ???? ??????, ???? ?? ?? ????? ??? ??????. ??????????????, ??????????? ??????? ???? ?? ?????? ???????? ??????. ??? ??????, ??? ??? ????????? ?????? ?????????? ???????? ?? ??????? ?????????? ?????? ?? ??????????????? ?????????. ???????? ? ?????? ????????? STATISTICS I/O ? STATISTICS TIME, ????? ?????????? ???????? ????????? ?????????? ? ???????? ?????/?????? ? ??????? ?????? ??.

????? ????? ????????? ?? ?????? ???? ????? ??????????, ??????? ?????????? ???????????? ??????. ????? ???? ????? ??????? ??? ???????? ?? ?????? ? ??????????? ?? ???????, ???????????? ?????????????? (? ????????, ??????????? ??????? ????????????? ????????????? ????????????? ????? ?????? ? ??? ??????, ???? ????????? ??????? ????????? ???????????? ????????????? ????????.) ??-?? ?????????????? ???????? ?? ?????????? ??????????? ????????????? ?????????? ??????????, ?????????? ? ?????????????? ???????, ??????????? ????????????? ? ????????? ???????????, ???????????? ????? ????????? ??????, ??? ???????? ?? ??????????????? ?????????. ????? ??? ?? ??? ???????????????? ????? ???????, ?? ???????????? ??????? ????????? ????????????? ?????????????? ???????? ?????????? ?? ???????????? ????? ?????? ?????? ????????? ??????? ???????????. ? ??????????? ?? ??????????? ???????? (??????? ????? ??????????, ??? ??????????? ???????? ? ???????????? ????????? ?????? ????????) ??? ???????? ??? ????-?? ????? ????????? ???????????. ???? ??? ??? ??????, ????? ????? ???????, ????? ?? ???????? ????? ????????? ?? ????????????? ????? ? ??????? ?? ????? ????????????? ??????. ??? ????? ????? ????????? ???????????? ??????? ???????????? ?? ?????? ??????? ? ??? ????????????? ????????? ????? ????? ??????? ?? ?????? ????????? ???????? ? ??????? ????????? OPTION (MAXDOP n).

?????? ????? ??????????

?????? ?????????? ??????? ??????, ??? ???? ?????????? ? ????????? ??????? ????????? ??????????????????. ???????????, ??? ? ???????? ???? ?????? ? Management Studio ? ?????????? ?????????? ????????? ????????? ????? ?????????? ? ??????? ???? ?????? Adventure Works SQL Server 2005:

SELECT c.CustomerID, SUM(LineTotal)
FROM Sales.SalesOrderDetail od 
JOIN Sales.SalesOrderHeader oh
ON od.SalesOrderID=oh.SalesOrderID
JOIN Sales.Customer c ON oh.CustomerID=c.CustomerID
GROUP BY c.CustomerID

? ????? ? ???? ???? ??????????, ???????????? ?? ???. 1. ???? ??????? ?????? ????????? ????? ?????????? ???????, ??????????? ?????? ???????? ? ???? ?????? Adventure Works. ????? ?? ???? ????, ?? ??????, ??? ???? ???? ?????? ???????????? ??????? ? ?????? ?????????. ??????????? ????? ?????????? ???????? ?????? ????, ?????? ??????. ?????? ?????? ????????????? ??????????? ?????????? ??? ?????????? ????????, ? ??????? ? ??????? ?????? ????? ??????????. ??????? ??????? ????????????? ?????????? ?????????? ????? (??? ?????, ??? ??????). ???? ????????? ?????? ?? ???? ?? ??????? ?????????, ???????? ?????? ????????? (?????, ??? ?? ???. 2) ?? ?????????? ? ?????? ????????.

Оптимизация запросов mssql

???. 1 ?????? ????? ??????????

Оптимизация sql server

???. 2 ???????? ?? ????????

????? ?? ?????????, ????? ????????????? ?????????????????? ??????????? ??????:

  1. ???? ???? ?????? ????????? ???????? ???????????? ?????????????????? ???????? ? ???????? Sales.Customer ? ?????????? ??????? CustomerID ?? ????? ???????? ?? ???? ???????.
  2. ????? ??? ????????? ???????????? ???????? (?? ??????????????????) ??? ????? ?? ???????? ?? ??????? Sales.SalesOrderHeader. ??? ?????? ??????? CustomerID, ?? ???????????????, ??? ? ???? ?????? ??????? SalesOrderID (???? ????????????? ???????). ???????????? ?????????? ???????? ????? ????????.
  3. ?????????? ????? ??????? ???????????? ???????????? ? ??????? CustomerID ? ??????? ??????????? ????????? ??????? (??? ???? ?? ???? ????????? ?????????? ???????? ?????????? ???????? ??????????? ???????????. ???????? ??????????? ??????, ?? ??????? ?????? ?????????? ??????????? ? ???????????? ???????. ? ?????? ?????? ??? ???????? ???????????? ??? ?????????? ??????, ???????????????? ? ??????? CustomerID, ??? ??? ?????????????? ?????????? ????????? ?? ?????).
  4. ????? ???? ???? ?????? ????????? ???????????? ??????????????????? ??????? ? ??????? Sales.SalesOrderDetail, ???????? ???????? ??????? ???????? (SalesOrderID, OrderQty, UnitPrice ? UnitPriceDiscount) ?? ???? ????? ??????? (??????????????, ??? ?????????? ????? 123,317 ?????. ??? ????? ?? ??????? Estimated Number of ? and Actual Number of Rows ?? ???. 2, ?????????? ?????? ??? ?????, ??? ??? ?????? ????????? ????? ??????).
  5. ??????, ?????????? ??? ???????????? ????????????????? ???????, ?????????? ????????? ?????????? ?????????, ?????????? ?? ???????????, ????? ????????? ???????? ??????? LineTotal ??? ?????? ?????? ?? ?????? ???????? OrderQty, UnitPrice ? UnitPriceDiscount, ?????????? ? ???????.
  6. ?????? ???????? ?????????? ?????????, ?????????? ?? ???????????, ????????? ? ?????????? ??????????? ?????????? ??????? ISNULL, ??? ? ???????????? ??????? ???????????? ???????. ?? ????????? ?????????? ? ??????? LineTotal ? ?????????? ??? ?????????? ????????? ?????? ?? ???????? SalesOrderID.
  7. ????? ????????? ??????? ? ????? 3 ???????????? ? ??????? ????????? ?????????, ?????????? ?? ??????????? ? ????? 6 ? ?????????????? ??????????? ????????? ?????????? ???????? ????.
  8. ????? ? ?????? ?????, ???????????? ?????????? ??????? ?? ???????? ??????? CustomerID ? ???????????? ???????? ???????? SUM ??????? LineTotal ??????????? ?????? ???????? ?????????? ???????? ????.
  9. ????????? ????, SELECT ? ??? ?? ?????????? ??? ?????????? ????????, ? ????????????????, ??????????????? ??????? ??????????? ??????? ? ?????????.

? ????????? ?? ???? ???????? ????? ?????????? ??????????????? ????????? ????????? 3,31365 (??? ????? ?? ???. 3). ??? ?????????? ? ?????????? ???????? STATISTICS I/O ON ????? ?? ??????? ???????? ?????????? ? 1,388 ?????????? ????????? ?????? ?? ???? ??????????????? ??????. ?????????? ???????? ??? ?????? ?????????? ? ??? ??? ????????? ? ????????? ?? ????? ??????????????? ????????? ????? ?????. ?? ????? ?? ???. 1 ?????, ??? ??????? ????? ????? ????????? ??????? ?? ?????????? ????? ???????????: ???????????? ????????????????? ??????? ??????? Sales.SalesOrderDetail ? ??? ????????? ?????????? ???????? ????. ????? ??? ??? ?????????? ? ???????????, ???????? ???????? ???? ????? ??????? ????????? ? ???? ???????, ??????? ????????? ????????? ????????? ??? ?????????.

Оптимизация производительности БД sql 2005

???. 3 ????? ??????????????? ????????? ?????????? ???????????????? ? ????????? ?? ??????? Sales.Customer ?????? ??????? CustomerID, ? ??? ?? ??????? ??????? ? ??????? Sales.SalesOrderHeaderTable ? ???????? ???????? ?????, ? ???? ????????? ????????? ?? ??????? ??????? Customer ??? ????????? ??????????? ???????? ??? ?????????? ?????? ???????. ??? ????? ???????????? ????????? ???:

SELECT oh.CustomerID, SUM(LineTotal)
FROM Sales.SalesOrderDetail od JOIN Sales.SalesOrderHeader oh
ON od.SalesOrderID=oh.SalesOrderID
GROUP BY oh.CustomerID

????????? ?????? ???? ??????????, ??????? ????????? ?? ???. 4.

Ms sql анализ плана выполнения

???. 4 ???? ?????????? ????? ?????????? ?? ??????? ??????? Customer????????? ????????? ??? ???????? ? ???????????? ??????????????????? ??????? ??????? Customer ? ??????? Customer ? SalesOrderHeader, ? ?????????? ???????? ???? ???????? ?? ???? ????? ??????????? ???????? ???????. ??? ???? ??? ??????? ?????? SalesOrderHeader ? SalesOrderDetail ????? ??????? ?????? ????? ??????, ???????????????? ?? ?????? ??????? SalesOrderID. ??? ????? ??????????? ???????? ???????? ???????????? ????????????????? ??????? ??????? SalesOrderHeader ?????? ????, ????? ???????????? ???????????? ??????????????????? ???????, ??????? ??? ?? ??????? ? ????? ?????? ?????/??????. ??? ??????? ?????? ????????????? ?????????? ???????????? ???????, ????????? ????????, ???????????? ??? ????????? ??????????? ??????? ???????, ????????? ?????? ?????????????? ????????? ?????/?????? ??? ???????????? ????????????????? ???????. ??????????? ??????? ?????? ???????????? ?????????? ??????????, ????????? ??? ???? ?????????? ????????? ????????? ????????? ??????????. ?? ???? ??????????, ???????? ?? ??, ??? ?????????? ?????????? ?????????? ???????? (?? 1,941), ????????? ??????? ?? ????? ??????, ? ??????????????? ????????? ?????????? ??????? ??????? ????? ?? 13 ????????? (2,89548).

???????????, ??? ? ???? ??? ???????? ?????????????????? ???????. ? ??????? ???????? ?? ???????????? ????????????????? ??????? ??????? SalesOrderHeader, ??????? ?????? ???????? ????? ??????? ?????????? ????? ??????????. ????????? ??? ?????????? ??????? ????? ????? ??? ???????, ????? ??????? ?????????????????? ??????, ??? ?????????? ?????? ??? ??? ???????. ????? ???????, ?????? ???????????? ???? ??????? ????? ????? ?????????????? ?????? ??????? ???????? ???????. ??????????? ??????? ????? ????????? ???????? ???:

CREATE INDEX IDX_OrderDetail_OrderID_TotalLine
ON Sales.SalesOrderDetail (SalesOrderID) INCLUDE (LineTotal)

???????? ????????, ??? ? ????????? ??????? ???? ??????????? ???????. ??? ???????? ?? ?????? ? ??? ??????? ?? ??????????? ?????? ???????.

?????? ???? ?????? ? ???????? ??? ?? ??????, ? ??????? ????? ????, ??????? ????????? ?? ???. 5.

Mssql сравнение производительности запросов

???. 5 ???????????????? ???? ?????????????????????? ????????????????? ??????? ??????? SalesOrderDetail ???????? ?????????????????? ????????????? ? ??????? ???????? ????????? ?? ????/?????. ????? ????, ? ???????? ???? ?? ?????????? ?????????? ?????????, ?????????? ?? ???????????, ????????? ? ???? ??????? ??? ???? ??????????? ???????? ??????? LineTotal. ?????? ??????????????? ????????? ????? ?????????? ?????????? 2,28112 ? ??? ?????????? ??????? ???????????? 1,125 ?????????? ??????????.

??????????. ?????? ?????? ??????????

??????. ??? ?????? ??????? ?????? ??????????. ?????????? ???????? ??????????? ???????: ????????, ??????? ????? ???????? ????????? ??? ? ?????? ???????? ??????? ??????? ? ???????? ?? ??????? ???????? ?? ??????????????????.

?????. ? ????????? ?????????? ??????????? ?????? ???????? ??? ???????? ??????? Sales.SalesOrderHeader ?? ??????? ??????? ?? ???? ??????. ??? ???? ????? ? ?????? ??????? ????????, ??? ?????? ?????????? ?????? ??? ??????? ?? ???????: CustomerID ? SalesOrderID. ???? ?? ??????????? ?????? ??? ??????, ?? ????????, ??? ? ?????? ? ???????? SalesOrderHeader ?????? ???????? ??????? ??? ??????????, ??? ?????? CustomerID, ??????? ???????? ???????? ??????? SalesOrderID, ?????????? ?????? ????????????? ???????.

???????, ? ???????? ? ??, ?????? ??????????? ??????? ?? ???? ???????????? ???? ??????. ??, ????? ????????? ??????????? ??????? ???????????? ???? ??????, ?? ??? ??????? ???? ?? ????? ???????????, ??? ???????????? ???? ? ??????????? ???????????? ????????????????? ??????? ? ???????. ???? ? ???, ??? ??????????? ??????? ???????? ?? ????????? ???? ????????? ?????????????? ???????? ??????????, ??????????? ??? ????????????? ???????, ???? ?????????? ?????, ? ????????????? ????? ???????????? ????????? ?????????? ???????? ????. ? ????? ????????? ??????????????? ????????? ?????????? ????, ??? ? ???????????? ????? (?????? ? ?????????? ?????????? ???????? ?? ???????? ?????), ??????? ??????????? ??????? ?? ????? ?? ???????????? ??? ???????????. ????, ? ?????? ???????? ????? ???????????? ????????????????? ??????? ????? ???????? ?????? ?????????????????? ?????? ? ???????? SalesOrderID, CustomerID. ??? ???? ????? ????????, ??? ??????? ?????? ???? ?????? ? ????? ???????:

CREATE INDEX IDX_OrderHeader_SalesOrderID_CustomerID
ON Sales.SalesOrderHeader (SalesOrderID, CustomerID)

???? ?? ????????? ???? ??????, ? ????? ?????????? ????? ???????????? ?? ???????????? ????????????????? ???????, ? ???????????? ???????. ??????? ????????????. ? ?????? ?????? ?????????????????? ??????, ??????? ???????? ?????? ??? ???????, ??????? ?????? ???? ??????? ? ???? ????????????????? ???????. ??????????????, ??? ?????????? ?????? ?????? ????? ?????? ???????????? ????/?????.

????? ???? ?????? ??????????, ??? ??????? ???????? ? ????? ??????? ????? ??????????? ???????? ?? ??? ????????????? ??? ???????????? ????????. ???????? ??????? ? ??????????? ?????????, ??????????? ?????? ??? ? ????.

?????? ????????

??????, ????????? ?? ??????? SalesOrderDetail, ???????????? ????? ??? ?????????? ??????? ?????????. ??? ?????????????????? ??????, ??? ?????????? ??? ???????, ??????????? ??? ?????????? ???????. ?? ????????? ????????????? ???????????? ???? ??????? ? ??????? ?????????? ???????????? ??????? ??? ????????????????? ???????. ?? ???? ?????? ???????????? ????? ??????????? ????? ???????, ??? ?????????? ???????????? ?? ????????. ? ?????? ?????????? ?????? ???????, ??????? ?????????? ??? ?????? ?? ?????? ??? ???????, ?? ???? ?????? ??, ??? ??????????? ??????.

???????? ???????? ???????? ???????? ?????? ???????? ? ???? ?? ????? ??????? ? ???????????????? ???????? ?????? ????????? ???????. ???????? ?????? ?? ???????? ? ?????????, ????? ? ??????? ????????? ????????, ?? ??????? ????? ????????? ?????? ?? ????????? ?? ???. ?????? ???? ??? ????????? ???????? ????????, ????? ??????????? ???????? ?????????????????? ??????????????? ????????, ??? ??? ??? ????? ?????????? ? ??????? ???????? ?????????? ?????? ?, ??????????????, ?????????? ??????/??????? ??????????. ??? ?? ?????, ????????? ?????????????? ???????? ? ???????? ??????????? ?????? (????????? INSERT, UPDATE ? DELETE) ????????????? ????????? ???????. ??????? ????? ??????????, ??????????? ?? ?????????? ?????????????????? ??? ?????????????? ???????. ??? ???? ?????? ?????????????? ????? ????? ? ??????????? ?????????? ???????? SELECT ? ????????? ??????.

?? ??????? ????????? ??????? ? ??????????? ?????????. ??? ?????? ??????????? ???????? ???????? ? ????? ????????, ? ??????????? ???????? ???? ?? ?????????? ??? ???????? ???????. ??????????? ???????? ???????? ???????? ????????? ????????.

? ???? ???????? ??????? ????? ??????? ??? ???-???. ?????? ?????? ???????? ??????? SalesOrderHeader, ????? ????????????? ?????????????? ??????. ??? ???? ????? ???????????? ???????????? ??????????????????? ??????? ?????? ?????????????????. ????????? ??? ????????? ??? ?????????? ??????????????. ?????????? ???????? ??????????? ???????: ????????, ??????? ????? ???????? ????????? ??? ? ?????? ???????? ??????? ??????? ? ???????? ?? ??????? ???????? ?? ??????????????????. ??????? ??. ? ??????? ?????? «??????????. ?????? ?????? ??????????».

??????????????? ?????????????

???? ?????????? ????? ??????? ??????? ????? ?????, ? ????? ????? ??????? ?????? ? ??????? ??????????????? ?????????????, ? ??????? ????????? ???????? ????????????????? ?????????? ???????. ??? ???????? ??????????????? ????????????? ?????????? ????????? ??????????????? ??????? ? ???????????, ?? ???? ?? ??????? ????????????, ?????????????????? ?????? ?????????. ???????? ????????, ??? ??????? ?? ???????????? ??????????????? ????????????? ????, ??? ? ??????? ????????. ?? ????? ???????????? ? ?????????????. ? ?????? ?????? ??????????? ??????? ???????? ???????? ???:

CREATE VIEW vTotalCustomerOrders
WITH SCHEMABINDING
AS
SELECT oh.CustomerID, SUM(LineTotal) AS OrdersTotalAmt, COUNT_BIG(*) AS TotalOrderLines
FROM Sales.SalesOrderDetail od 
JOIN Sales.SalesOrderHeader oh
ON od.SalesOrderID=oh.SalesOrderID
GROUP BY oh.CustomerID

???????? ???????? ?? ???????? WITH SCHEMABINDING, ??? ???????? ?????????? ??????? ?????? ?????? ?????????????, ? ??????? COUNT_BIG(*), ??????? ??????????? ? ??? ??????, ???? ? ????? ??????????? ??????? ?????????? ?????????? ??????? (? ?????? ?????? SUM). ?????? ??? ?????????????, ? ???? ??????? ? ??????:

CREATE UNIQUE CLUSTERED INDEX CIX_vTotalCustomerOrders_CustomerID 
ON vTotalCustomerOrders(CustomerID)

??? ???????? ????? ??????? ????????? ???????, ??????????? ? ??????????? ?????????????, ??????????????? ? ????????? ??????????? ?? ????????? ?????. ???????? ????????, ??? ??? ???????? ??????????? ?????? ???????? ??????? ????????????? ????????? ???????? ????????????? ?? ?????? ???????????.

???? ????????????? ??????, ?? ????????? ????? ???????? ?? ???????????? ?????? SQL Server. ? ??????? Enterprise ??? Developer ??????????? ????????????? ??????? ?????? ? ???????????? ???????????????? ????????????? ? ?????????? ??? ?????????????, ?????? ???? ????? ?????????? ? ???????? ???????. ?? ???. 6 ???????? ?????? ????????????? ????? ??????????. ?? ??????? ?? ?????-???????????? ???????? ? ???????????? ????????????????? ???????, ??????? ? ?????? ?? ?????? ?????????????. ??????????????? ????????? ?????????? ?????????? ????? 0,09023 ? ??? ?????????? ??????? ???????????? 92 ?????????? ??????????.

Sql join производительность

???. 6 ???? ?????????? ??? ????????????? ???????????????? ????????????? ??? ??????????????? ????????????? ????? ????????? ? ???????????? ? ? ?????? ??????? SQL Server, ?? ??? ????????? ???????????? ??????? ?????????? ???????? ?????? ? ???????? ?????? ?????? ?? ????????????? ? ??????? ????????? NOEXPAND, ???????? ???:

SELECT CustomerID, OrdersTotalAmt
FROM vTotalCustomerOrders WITH (NOEXPAND)

??? ??????, ????????? ?????????????? ??????????????? ????????????? ????? ????????? ????? ??????? ????????. ????? ????? ?? ???????????? ? ???????????????? ????????, ??????????? ????????????? ??????? ??????? ??????. ? ?????? Enterprise ????? ????????????????? ????? ????????, ?? ??????? ????.

????? ????????, ??????????? ? ?????????

??? ? ??????????, ??? ?????? ????? ?????????? ? ??? ????? ??????????? ???????, ????????, ? ????????? ?????????? ?????????? ? ????????? ??????, ?? ? ????? ????? ???????, ??? ???????, ?? ????? ????????????? ???????. ??? ?? ??????, ??? ????????? ??????????? ?? ?????. ? ?????? ??????, ??? ??? ?????? ????? ??????????????? ?? ????? ?????? ????????. ??? ??? ?? ?? ??????

? ?????????, ????? ???????? ????? ???????? ?????? ? ??????????????? ???????????? ???? ??????????? ???????? ? ??????? ? ??????????? ???????????? ?? ????????. ??? ???? ????? ??????? ? ????????? ?????????? ?????????? ?????????? ?? ?????????? ?????, ??????? ????????? ??????? ?????????? ??????? ? ??????? ??????????. ??????? ??????? ??????? ??????, ??? ??? ??? ??????? ???????. ???? ???-??? (Itzik Ben-Gan) ????????? ??????? ? ?????????????? ???????????????? ??????? ? ????? CLR ? ?????????? ????????? ? ????? ????? ?Microsoft SQL Server 2005 ???????: ??????? T-SQL?.

?????????? ??? ???? ?????, ???? ????? ???????, ?? ?? ????? ????????. ????? ?????????? ?? ?????????? ???? ????????, ??????? ???????? ? ???? ????? ??????????, ? ???????? ?? ? ?????????????? ???????????? ???????????????? ?????????????. ?? ??????? 7 ???? ?????? ??????? ?????? ? ????? ?????????? 20 ???????? ?? ????, ? ??????? ????? ?????????? ?????????? ?????????? ????????? ????????????. ? ??????? ????? ??????? ????? ?????? ?????? ???????? ??????? ? ???????????? ??????????? ?????????? ??????????, ?? ???? ? ????????? ???????????. ?? ?????????? ?????? ??????? ? ???????, ????????????? ?? ?????? ???????. ?? ???????????? ??????? ?? ????????????.

???. 7 ????? 20 ????? ??????? ? ????? ?????? ?????/?????? ??? ?????????? ????????.

SELECT TOP 20 SUBSTRING(qt.text, (qs.statement_start_offset/2)+1, 
        ((CASE qs.statement_end_offset
          WHEN -1 THEN DATALENGTH(qt.text)
         ELSE qs.statement_end_offset
         END - qs.statement_start_offset)/2)+1), 
qs.execution_count, 
qs.total_logical_reads, qs.last_logical_reads,
qs.min_logical_reads, qs.max_logical_reads,
qs.total_elapsed_time, qs.last_elapsed_time,
qs.min_elapsed_time, qs.max_elapsed_time,
qs.last_execution_time,
qp.query_plan
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
WHERE qt.encrypted=0
ORDER BY qs.total_logical_reads DESC

????????? ??????? ? ?????? ???????????????????, ??????????? ?? ????? ? ??????? ??????? ??????????? ? ??????? ?????????? ??????????????, ??????? ? ?????? ? ???? ??????. ?? ?? ??? ????????? ?????, ???? ????????? ??????.

??????? ?????????!

buy an essay online

?c??????: TechNet Magazine


Смотрите также:

Tags: , ,

Readers Comments (Комментариев нет)

Comments are closed.



Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]