2009-06-26 2 views

ответ

6
  • в оперативной памяти таблица представляет собой таблицу, которая была полностью кэшируется, и поэтому не приводит к какому-либо физическому (жесткому диску) считывает при запросе. В качестве альтернативы, это переменная таблицы, объявленная в пакете или функции, без настойчивости. Зависит от того, что вы подразумеваете под «таблицей в памяти» :)

  • Таблица временных (оратория) - таблица, которая автоматически отбрасывается, когда она больше не нужна, обычно, когда сеанс создания завершается. В MS SQL они начинаются с # (или двух хэшей, если они являются глобальными временными таблицами, разделяются между несколькими сеансами) и часто создаются с помощью запроса типа SELECT INTO #TEMPTABLE ....

  • сводная таблица представляет собой специальную форму запроса, в которой значения в нескольких строках суммируются, «поворачиваются» по оси и становятся столбцами, где итоговые данные затем становятся строками. Часто это происходит, когда вы сортируете строки по датам; они могут затем быть «повернута», так что вы в конечном итоге с колонкой в ​​январе, один за февраль, один за март и т.д.

2

Heres хорошее чтение на @temp tables vs #temp tables

Я бы резюмировать следующим образом:

переменные таблицы @temp хранятся в памяти ... чем больше вы используете их, тем выше стоимость процессора будет ... но они могут быть кэшированы и как таковые могут работать быстрее в большинстве случаев.

#temp таблицы хранятся на диске, если вы храните много данных в таблице temp, вы можете пойти по этому маршруту, I.E. для целей отчетности.

Использование PIVOT and UNPIVOT - это всего лишь способ «поворота» ваших результатов ... поэтому его доступ к памяти будет аналогичен тому, как выполняются другие стандартные запросы.

Смежные вопросы