Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Будет ли расти транзакционный лог из за этого..  [new]
MAULER
Member

Откуда:
Сообщений: 891
Здравствуйте.

select @@VERSION

Microsoft SQL Server 2016 (SP2) (KB4052908) - 13.0.5026.0 (X64) Mar 18 2018 09:11:49 Copyright (c) Microsoft Corporation Developer Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600: ) (Hypervisor)

Скажите пожалуйста, повлияет ли на рост транзакционного лога запись/удаление из таблицы созданной через:
declare @work table
внутри хранимой процедуры?
27 май 19, 15:33    [21894935]     Ответить | Цитировать Сообщить модератору
 Re: Будет ли расти транзакционный лог из за этого..  [new]
komrad
Member

Откуда:
Сообщений: 5244
MAULER,

tempdb
27 май 19, 15:41    [21894937]     Ответить | Цитировать Сообщить модератору
 Re: Будет ли расти транзакционный лог из за этого..  [new]
MAULER
Member

Откуда:
Сообщений: 891
komrad,
Спасибо за ответ.
Я могу ошибаться, но разве Tempdb растет не из за такого способа создания временных таблиц:

create table #Work
?
27 май 19, 15:44    [21894941]     Ответить | Цитировать Сообщить модератору
 Re: Будет ли расти транзакционный лог из за этого..  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
MAULER
komrad,
Спасибо за ответ.
Я могу ошибаться, но разве Tempdb растет не из за такого способа создания временных таблиц:

create table #Work
?

нет, всё там
27 май 19, 15:46    [21894942]     Ответить | Цитировать Сообщить модератору
 Re: Будет ли расти транзакционный лог из за этого..  [new]
komrad
Member

Откуда:
Сообщений: 5244
MAULER
komrad,
Спасибо за ответ.
Я могу ошибаться, но разве Tempdb растет не из за такого способа создания временных таблиц:

create table #Work
?


они (табличные переменные) материализованы в tempdb
https://www.sqlshack.com/when-to-use-temporary-tables-vs-table-variables/
27 май 19, 15:48    [21894944]     Ответить | Цитировать Сообщить модератору
 Re: Будет ли расти транзакционный лог из за этого..  [new]
komrad
Member

Откуда:
Сообщений: 5244
MAULER
komrad,
Спасибо за ответ.
Я могу ошибаться, но разве Tempdb растет не из за такого способа создания временных таблиц:

create table #Work
?

ну сюда гляньте:
https://www.mssqltips.com/sqlservertip/1556/differences-between-sql-server-temporary-tables-and-table-variables/

цитата
Unlike temporary or regular table objects, table variables have certain clear limitations:

  • Table variables can not have Non-Clustered Indexes
  • You can not create constraints in table variables
  • You can not create default values on table variable columns
  • Statistics can not be created against table variables


    Similarities with temporary tables include:

  • Instantiated in tempdb
  • Clustered indexes can be created on table variables and temporary tables
  • Both are logged in the transaction log
  • Just as with temp and regular tables, users can perform all Data Modification Language (DML) queries against a table variable: SELECT, INSERT, UPDATE, and DELETE.
  • 27 май 19, 15:53    [21894950]     Ответить | Цитировать Сообщить модератору
     Re: Будет ли расти транзакционный лог из за этого..  [new]
    komrad
    Member

    Откуда:
    Сообщений: 5244
    komrad
    MAULER
    komrad,
    Спасибо за ответ.
    Я могу ошибаться, но разве Tempdb растет не из за такого способа создания временных таблиц:

    create table #Work
    
    ?

    ну сюда гляньте:
    https://www.mssqltips.com/sqlservertip/1556/differences-between-sql-server-temporary-tables-and-table-variables/

    цитата
    Unlike temporary or regular table objects, table variables have certain clear limitations:

  • Table variables can not have Non-Clustered Indexes
  • You can not create constraints in table variables
  • You can not create default values on table variable columns
  • Statistics can not be created against table variables


    Similarities with temporary tables include:

  • Instantiated in tempdb
  • Clustered indexes can be created on table variables and temporary tables
  • Both are logged in the transaction log
  • Just as with temp and regular tables, users can perform all Data Modification Language (DML) queries against a table variable: SELECT, INSERT, UPDATE, and DELETE.


  • хотя, некоторые положения в ней устарели
    например, в современных версиях можно создавать индексированные табличные переменные:

    DECLARE @t TABLE
    (
      a int PRIMARY KEY,
      b int,
      INDEX x (b, a DESC),
      INDEX y (b DESC, a)
    );
    

    https://sqlperformance.com/2017/04/performance-myths/table-variables-in-memory
    27 май 19, 16:03    [21894965]     Ответить | Цитировать Сообщить модератору
     Re: Будет ли расти транзакционный лог из за этого..  [new]
    MAULER
    Member

    Откуда:
    Сообщений: 891
    Благодарю за информацию.
    28 май 19, 07:37    [21895339]     Ответить | Цитировать Сообщить модератору
    Все форумы / Microsoft SQL Server Ответить