Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SELECT INTO блокировка tempdb 
V
    Опции темы
lv151
Дата 26.11.2013, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: нет
Всего: 2



Неоднократно видел, как народ пишет, что при использовании SELECT INTO накладывается блокировка на sysobjects/syscolumns базы tempdb. Решил подробно разобраться, но не могу найти официальные доки на эту тему.
PM MAIL   Вверх
Akina
Дата 26.11.2013, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20580
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



А чего там разбираться? select into содержит в плане выполнения неявный create table - надеюсь, не надо объяснять, почему для его выполнения лочатся соотв. таблицы схемы?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
lv151
Дата 26.11.2013, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: нет
Всего: 2



1)Объясни.
2)И почему лочатся из tempdb?
3)Актуально ли это для SQL 2005/2008/2012?

Это сообщение отредактировал(а) lv151 - 26.11.2013, 11:22
PM MAIL   Вверх
Akina
Дата 26.11.2013, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20580
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



1) MSDN
2) А где ж ещё?
3) Есссно.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
lv151
Дата 26.11.2013, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: нет
Всего: 2



Я не нахожу там ничего про блокировки.
PM MAIL   Вверх
Akina
Дата 26.11.2013, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20580
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Не, я не понимаю, ты, задав вопрос, вообще отключаешь мозг?

Вот фраза по ссылке. Первая в содержательной части. 
Цитата

SELECT…INTO creates a new table in the default filegroup and inserts the resulting rows from the query into it

Я даже акцентировал твоё внимание на той части предложения, где сказано о создании таблицы.
И не надо быть семи пяток во лбу, чтобы понять, что дальше надо читать именно про создание таблицы. То есть про CREATE TABLE. А уже там ты найдёшь информацию по временным таблицам (по-моему, очевидно, что сначала выбранные данные куда-то кэшатся, и только по выполнении всей инструкции, если не произошло ошибки, будет создана новая таблица), где и есть ссылки на то, что и зачем лочится.



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
lv151
Дата 26.11.2013, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: нет
Всего: 2



Цитата(Akina @  26.11.2013,  12:02 Найти цитируемый пост)
где и есть ссылки на то, что и зачем лочится.

http://msdn.microsoft.com/ru-ru/library/ms174979.aspx
нет их там

p.s. раздражение - это очень плохая вещь.

Это сообщение отредактировал(а) lv151 - 26.11.2013, 12:21
PM MAIL   Вверх
Akina
Дата 26.11.2013, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20580
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Цитата(lv151 @  26.11.2013,  13:19 Найти цитируемый пост)
раздражение - это очень плохая вещь.

Однозначно. Вот почему я могу за пару минут находить всякую фигню типа KB162753, а ты нет? 

Штука, про которую ты прочитал где-то, древняя как я не знаю что, и давным-давно не вызывает проблем (посмотри, к какой версии сервера она относится, да ещё при каких условиях), но всё тащится как крокодилов хвост. 
Да, блокировка есть, и всегда была, и, я полагаю, всегда будет. Потому что создание таблицы - это транзакционная операция. Даже временной таблицы. Представь себе, что может случиться, если не блокировать... вот он, армагеддон-то, рядышком. Только на следующих (а для тебя - очень даже предыдущих) версиях сервера эта проблема была снята.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
lv151
Дата 26.11.2013, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: нет
Всего: 2



Цитата(Akina @  26.11.2013,  12:40 Найти цитируемый пост)
Вот почему я могу за пару минут находить всякую фигню типа KB162753, а ты нет? 

Потому-что я ещё не так хорош как ты, мне нужно много работать над собой. 

Цитата(Akina @  26.11.2013,  12:40 Найти цитируемый пост)
Штука, про которую ты прочитал где-то, древняя как я не знаю что, и давным-давно не вызывает проблем (посмотри, к какой версии сервера она относится, да ещё при каких условиях), но всё тащится как крокодилов хвост. 
Да, блокировка есть, и всегда была, и, я полагаю, всегда будет. Потому что создание таблицы - это транзакционная операция. Даже временной таблицы. Представь себе, что может случиться, если не блокировать... вот он, армагеддон-то, рядышком. Только на следующих (а для тебя - очень даже предыдущих) версиях сервера эта проблема была снята.

Какой-то очень крутой дзен...


http://www.rsdn.ru/forum/db/2410861.flat 

Ясно. 
Я так понял, проблема была решена в Microsoft SQL Server 6.5.


Это сообщение отредактировал(а) lv151 - 26.11.2013, 13:04
PM MAIL   Вверх
Akina
Дата 26.11.2013, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20580
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



В 7.0 это уже перестало быть ПРОБЛЕМОЙ.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
lv151
Дата 26.11.2013, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: нет
Всего: 2



ок.
Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.1262 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.