Рефераты | Рефераты по информатике, программированию | MS SQL 2005: оконные функции | страница реферата 6 | Большая Энциклопедия Рефератов от А до Я
Большая Энциклопедия Рефератов от А до Я
  • Рефераты, курсовые, шпаргалки, сочинения, изложения
  • Дипломы, диссертации, решебники, рассказы, тезисы
  • Конспекты, отчеты, доклады, контрольные работы

  • Такой запрос на этих данных примерно в 10 раз эффективнее, чем этот же запрос, выполненный в «старом стиле»:

    SELECT *

     FROM sample s1

     WHERE ID_Trans in

      (

       SELECT top 2 ID_Trans

        FROM sample s2

        WHERE s1.ID_Customer = s2.ID_Customer

        ORDER BY amount DESC

      )

    Более того, разница в скорости будет ощутимо расти с увеличением количества данных в таблице, поскольку в первом случае алгоритм довольно прост – внутренним запросом нумеруются записи внутри групп, практически за одну сортировку, а затем фильтром во внешнем запросе отсекаются все лишние записи. Во втором же случае, внутренний подзапрос выполняется заново, для каждой записи в таблице. Все это очень хорошо видно на планах запросов. На втором плане количество ожидаемых выполнений подзапроса – пятнадцать, так как в тестовой табличке 15 записей.

    План запроса с аналитической функцией:

    Операция                 Стоимость Количество

    ----------------------------------------------------------

     |--Filter(WHERE:([Expr1003]<(3)))    0.022873  1

      |--Sequence Project(...)       0.022866  1

       |--Segment             0.022866  1

        |--Segment            0.022866  1

         |--Sort(ORDER BY:(...))     0.022864  1

          |--Clustered Index Scan(...) 0.006423  1

    План запроса без использования аналитической функции:


    Рекомендуем скачать другие рефераты по теме: казахстан реферат, курсовики скачать бесплатно.



    Предыдущая страница реферата | 1  2  3  4  5  6  7 |




    Поделитесь этой записью или добавьте в закладки

       




    Категории:



    Разделы сайта




    •