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

Откуда:
Сообщений: 97
Как для временной таблицы отключить транзакции - она же временная...

Модератор: Тема перенесена из форума "Проектирование БД".


Сообщение было отредактировано: 5 ноя 15, 14:31
5 ноя 15, 14:14    [18373493]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Выбрать нетранзакционную СУБД.
5 ноя 15, 14:34    [18373667]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Лунтик
Как для временной таблицы отключить транзакции - она же временная...

Никак
Журнал транзакция - он для сервера, а не для вас.
5 ноя 15, 14:34    [18373673]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
o-o
Guest
автор
При создании/модификации временной таблицы происходит журналирование?

да
автор
Как для временной таблицы отключить транзакции

никак.
но можно посмотреть в сторону table variables
BOL
Transactions involving table variables last only for the duration of an update on the table variable.
Therefore, table variables require less locking and logging resources.
...
Because table variables have limited scope and are not part of the persistent database,
they are not affected by transaction rollbacks.
5 ноя 15, 14:37    [18373703]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
Лунтик
Member

Откуда:
Сообщений: 97
Гавриленко Сергей Алексеевич, что значит "выбрать" - вы имеете ввиду выгрузку во внешний нетранзакционный источник (вроде DBF)?

По-поводу табличных переменных, мне попадалась информация, что они быстрее на маленьких объемах, т.к. хранятся в памяти, а на больших - в разы дольше (и точно также блокируется tempdb). Это так? А то мне как раз нужно быстренько вынуть информацию и закрыть соединение. Или я экономлю на пуговицах?
5 ноя 15, 14:59    [18373914]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Лунтик
По-поводу табличных переменных, мне попадалась информация, что они быстрее на маленьких объемах, т.к. хранятся в памяти, а на больших - в разы дольше (и точно также блокируется tempdb). Это так?

Быстрее/медленнее могут быть запросы, а не таблицы. И для каждого конкретного случая есть свое конкретное объяснение полученной производительности.
5 ноя 15, 15:01    [18373937]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Лунтик
что значит "выбрать" - вы имеете ввиду выгрузку во внешний нетранзакционный источник (вроде DBF)?

Не использовать MSSQL
А использовать такую СУБД, где нет транзакций, журнала и прочей ненужной вам ерунды.
5 ноя 15, 15:02    [18373954]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
o-o
Guest
Лунтик
По-поводу табличных переменных, мне попадалась информация, что они быстрее на маленьких объемах, т.к. хранятся в памяти

откуда вы такое притащили,
a_voronin прочел лекцию о Memory-Optimized Table Variables?
до 2014-ого ими и не пахло,
а когда несете ерунду, хотя бы ссылками подкрепляйте,
чтобы не к вам претензии были
Лунтик
а на больших - в разы дольше (и точно также блокируется tempdb). Это так?

как это блокируется tempdb, расскажите.
большой замок рисуют на иконке tempdb в OE?
5 ноя 15, 15:56    [18374438]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
Лунтик
мне попадалась информация, что они быстрее на маленьких объемах, т.к. хранятся в памяти
Всё хранится в памятиЮ называется "кеширование"
Лунтик
а на больших - в разы дольше (и точно также блокируется tempdb)
Нет. Но пересчёт статистики, перекомпиляции, работа с индексами с ними отличается, так что разница есть.
Лунтик
А то мне как раз нужно быстренько вынуть информацию и закрыть соединение.
Вы лучше пока такими тонкостями не занимайтесь :-) Освоить язык SQL, познать на практике реляционную теорию, научиться использовать профайлер и читать планы - это будет более полезно.

А с этим - если нужны временные данные в процедуре - используйте таблицы-переменные. Если очень большие данные - ну, можно попробовать переделать переменную на временную таблицу, может в каких то случаях помочь.
6 ноя 15, 09:14    [18376571]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
Лунтик
Member

Откуда:
Сообщений: 97
alexeyvg, судя по msdn, табличные переменные рекомендованы для небольших объемов
https://msdn.microsoft.com/ru-ru/library/ms175010(v=sql.120).aspx
Do not use table variables to store large amounts of data (more than 100 rows)

А временные таблицы создаются в TempB, которая одна на весь экземпляр.

Так может лучше сделать свою базу и там делать постоянные таблицы?
Что происходит с памятью, когда идет обращение к другой базе -может все-равно TempDB задействуется?
6 ноя 15, 10:12    [18376804]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Лунтик
А временные таблицы создаются в TempB, которая одна на весь экземпляр.

Вы не поверите, но табличные переменные тоже создаются в TempB
Потому что табличные переменные - это тоже временные таблицы.

Лунтик
Так может лучше сделать свою базу и там делать постоянные таблицы?

Как я уже говорил, для вас лучше нанять грамотного специалиста.

Лунтик
Что происходит с памятью, когда идет обращение к другой базе -может все-равно TempDB задействуется?

Шедеврально
6 ноя 15, 10:17    [18376825]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
Лунтик
Member

Откуда:
Сообщений: 97
Glory, а вы не грамотный специалист, почему бы у вас не спросить?
6 ноя 15, 10:18    [18376831]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Лунтик
Glory, а вы не грамотный специалист, почему бы у вас не спросить?

Вы знаете, что такое "нанять" ?
Вы не спрашивате, вы транслируете чушь в каждой теме. И требуте, чтобы вам доказали, что это чушь.
6 ноя 15, 10:21    [18376846]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
Лунтик
Glory, а вы не грамотный специалист, почему бы у вас не спросить?
Я же вам ответил уже, почему вы мне не верите? :-)
Лунтик
alexeyvg, судя по msdn, табличные переменные рекомендованы для небольших объемов
https://msdn.microsoft.com/ru-ru/library/ms175010(v=sql.120).aspx
Do not use table variables to store large amounts of data (more than 100 rows)
Очень хорошо, вот и выполняйте рекомендации. Я вам написал, повторю ещё раз - не задумывайтесь над этим, используйте переменные, а при больших объёмах пробуйте временные таблицы.

Лунтик
А временные таблицы создаются в TempB, которая одна на весь экземпляр.

Так может лучше сделать свою базу и там делать постоянные таблицы?
Ну естественно, если вам нужны постоянные таблицы, то используйте постоянные таблицы в своей базе.
А если нужны временные таблицы, то создавайте их как временные таблицы в базе tempdb. Логично, что если она для них предназначена, то и будет лучше с ними работать? Почему это так, можете поизучать, есть множество статей на эту тему, и в MSDN в том числе.

Лунтик
Что происходит с памятью, когда идет обращение к другой базе -может все-равно TempDB задействуется?
Ээээ. К какой это другой? Все базы в какой то степени "другие" :-)
И как это - "обращение к базе идёт через базу"? как это происходит физически?
6 ноя 15, 10:27    [18376879]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2415
Лунтик,

вам цыганка в детстве нагадала, что если вы случайно используете базу tempdb, то мир ждет страшная катасрофа и апокалипсис?
6 ноя 15, 10:36    [18376953]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Первый раз вижу троля в юбке, шедеврально, пиши исчё:))
6 ноя 15, 10:51    [18377028]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
Apoj_sql
Member

Откуда:
Сообщений: 43
Лунтик
alexeyvg, судя по msdn, табличные переменные рекомендованы для небольших объемов
https://msdn.microsoft.com/ru-ru/library/ms175010(v=sql.120).aspx
Do not use table variables to store large amounts of data (more than 100 rows)

А временные таблицы создаются в TempB, которая одна на весь экземпляр.

Так может лучше сделать свою базу и там делать постоянные таблицы?
Что происходит с памятью, когда идет обращение к другой базе -может все-равно TempDB задействуется?


Мне кажется, Вам стоит сходить к психологу. У Вас непонятный комплекс по поводу TempDB
ЗЫ Можно параллельно зайти к батюшке в церковь, если это вдруг не комплекс, а банальное суеверие.
6 ноя 15, 10:51    [18377029]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
Лунтик
Member

Откуда:
Сообщений: 97
http://www.t-sql.ru/post/temp_table.aspx
http://www.realcoding.net/articles/vremennye-tablitsy-v-sql-server-tak-li-neobkhodimy-vremennye-tablitsy.html
http://www.sqlbooks.ru/Articles02/tsql07_ru.htm
6 ноя 15, 11:01    [18377101]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Лунтик
http://www.t-sql.ru/post/temp_table.aspx
http://www.realcoding.net/articles/vremennye-tablitsy-v-sql-server-tak-li-neobkhodimy-vremennye-tablitsy.html
http://www.sqlbooks.ru/Articles02/tsql07_ru.htm

И что там везде подтверждается, что " когда идет обращение к другой базе -может все-равно TempDB задействуется" ?
Или что табличные переменные нельзя применять для больших объемов данных ?
6 ноя 15, 11:04    [18377116]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
Лунтик
http://www.t-sql.ru/post/temp_table.aspx
http://www.realcoding.net/articles/vremennye-tablitsy-v-sql-server-tak-li-neobkhodimy-vremennye-tablitsy.html
http://www.sqlbooks.ru/Articles02/tsql07_ru.htm
Да, хорошо, вот почитайте эти статьи, они вполне нормальные.
Последняя - слишком старая, она относится к версии, даже после которой есть уже несколько неподдерживаемых версий :-) Но всё равно, можно почитать.
6 ноя 15, 11:31    [18377256]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
alexeyvg
Лунтик
http://www.t-sql.ru/post/temp_table.aspx
http://www.realcoding.net/articles/vremennye-tablitsy-v-sql-server-tak-li-neobkhodimy-vremennye-tablitsy.html
http://www.sqlbooks.ru/Articles02/tsql07_ru.htm
Да, хорошо, вот почитайте эти статьи, они вполне нормальные.
Последняя - слишком старая, она относится к версии, даже после которой есть уже несколько неподдерживаемых версий :-) Но всё равно, можно почитать.


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

автор
Сомневаюсь, что в ближайшее время ситуация изменится, поэтому будте внимательны при работе с временными таблицами!!!


сделаны на основе скудных знаний автора и никакого отношения к реальности не имеют вообще.

Совет Лунтику, не читайте странные статьи в странных источниках. Вы бы еще на форуме по 1С про сиквел почитали:)
6 ноя 15, 12:21    [18377537]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
o-o
Guest
WarAnt
...
http://www.t-sql.ru/post/temp_table.aspx
http://www.realcoding.net/articles/vremennye-tablitsy-v-sql-server-tak-li-neobkhodimy-vremennye-tablitsy.html
http://www.sqlbooks.ru/Articles02/tsql07_ru.htm
...
Я бы как раз наоборот не советовал читать эти статьи, написаны совершенно недалеким человеком.

для начала, три перечисленные статьи написаны тремя разными авторами.
а теперь напишите-ка сюда, что из первой и третьей статьи вы считаете неверным
(оставив в стороне грамматические перлы типа <"ностоящее" наименование в tempdb>)
6 ноя 15, 12:32    [18377609]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
Лунтик
Member

Откуда:
Сообщений: 97
Хорошо, спасибо, уговорили, путь будет TempDB
Логично, что если она для них предназначена, то и будет лучше с ними работать

А насчет выборки из двух баз (на одном экземпляре) - они находятся в едином ресурсном пространстве (структуры с данными единые и не дублируются), или одна база кладет на полку пирожок, а другая берет (полка это скажем та же tempDB)?
6 ноя 15, 12:36    [18377633]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
o-o
Guest
Лунтик
Хорошо, спасибо, уговорили, путь будет TempDB
Логично, что если она для них предназначена, то и будет лучше с ними работать

А насчет выборки из двух баз (на одном экземпляре) - они находятся в едином ресурсном пространстве (структуры с данными единые и не дублируются), или одна база кладет на полку пирожок, а другая берет (полка это скажем та же tempDB)?

уговорили?
если вас и уговаривают/о чем-то просят,
так только об одном: прекратить вываливать сюда ваше неверное представление о работе сервера.
а проблемы у вас с тем, что вы написанное не понимаете.
вне зависимости от того, касается ли это технических статей, высказываний ли на форуме
Glory
Вы не спрашивате, вы транслируете чушь в каждой теме. И требуте, чтобы вам доказали, что это чушь.

какая полка, какие пирожки?
если вы про buffer pool, то он один на всех.
6 ноя 15, 12:50    [18377724]     Ответить | Цитировать Сообщить модератору
 Re: При создании/модификации временной таблицы происходит журналирование?  [new]
Лунтик
Member

Откуда:
Сообщений: 97
Спасибо, мальчики, я пошла...
6 ноя 15, 12:52    [18377739]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить