Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / select into #t и tempdb / 15 сообщений из 15, страница 1 из 1
10.09.2007, 21:30
    #34789600
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select into #t и tempdb
Ситуация - 20 разных сессий в которых одновременно запускается один и тот же запрос создающий временную. таблицу - например select * into #temp_table from table_a (скажем в ней пара тысяч записей).

Что произойдёт с базой tempdb? Могут ли некоторые сессии отвалиться? Почему?
Что делать?

Вопрос очень теоретический, но тем кто будет искать роботу за рубежом, к подобным вопросам желательно быть готовым.

Всем заранее спасибо
...
Рейтинг: 0 / 0
10.09.2007, 21:32
    #34789601
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select into #t и tempdb
Забыл важную деталь - сервер баз данных ASE 12.x

Всем заранее спасибо
...
Рейтинг: 0 / 0
10.09.2007, 22:02
    #34789641
Rubber
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select into #t и tempdb
KruСитуация - 20 разных сессий в которых одновременно запускается один и тот же запрос создающий временную. таблицу - например select * into #temp_table from table_a (скажем в ней пара тысяч записей).
- а какой размер tempdb ? :)


Kruскажем в ней пара тысяч записей
- а полей сколько ? :)
...
Рейтинг: 0 / 0
10.09.2007, 22:08
    #34789648
Rubber
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select into #t и tempdb
KruЧто произойдёт с базой tempdb? Могут ли некоторые сессии отвалиться? Почему?
Сесси не отвалятся, но, если свободное место в tempdb закончится, отвалится весь сервер
...
Рейтинг: 0 / 0
10.09.2007, 22:22
    #34789665
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select into #t и tempdb
Ну раз вопрос очень теоретический, то я бы рассуждал так:
Так как все-все промежуточные выборки ASE помещает в tempdb, а tempdb это практически самостоятельная база лежащая на самостоятельном физическом устройстве (в идеале) либо в отдельном файле в файловой системе, то в принципе возможно переполнение tempdb. Хотя в случае 20 сессий создающих временные таблицы по паре тысяч записей это очень маловероятно. Но допустим что у нас для temdb выделено очень мало места - что произойдет с сессиями? Скорее всего они получат соответсвующую ошибку о переполнении и последний запрос не будет выполнен, но выкинут ли сессии с сервера? Вряд-ли, потому что не очень ясен критерий какие из сессий надо выкинуть. Вот то что в новых коннектах откажут - в этом я уверен, а существующие скорее всего будут сохранены, именно потому что не ясно какие из сессий выгонять.
Что делать? Сессиям - ждать цать секунд и повторять запрос. Админу - увеличивать пространство для temdb, например перенести его на диск большего объема.
Но это я рассуждаю чисто теоретически, потому что с ASE я знаком только пару недель...

А вообще, технические интервью при устройстве на работу это вещь такая странная.... Вот меня например, на интервью дама из отдела кадров спрашивала по каким критериям я решаю надо ли создавать индексы на таблицу и какими администраторскими утилитами я пользуюсь для тюнинга пользовательских запросов. А после нее пришли пара ребят из IT отдела и самый технический вопрос который они смогли придумать это: "чем отличается union от join?". Это я устраиваюсь на работу DBA на ASE 12.5, собственно говоря почему я ASE и начал изучать :)


---
http://www.rusug.ru] Портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
10.09.2007, 23:33
    #34789717
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select into #t и tempdb
Kru пишет:

> Ситуация - 20 разных сессий в которых одновременно запускается один и
> тот же запрос создающий временную. таблицу - например select * into
> #temp_table from table_a (скажем в ней пара тысяч записей).
>
> Что произойдёт с базой tempdb?

Будет интенсивно заполняться.

Могут ли некоторые сессии отвалиться?

Куда отвалиться ? если место в tempdb кончится, никто работать
не сможет.

Почему?
tempdb используется почти всеми запросами. Без нее сервер
фактикески неработоспособен.

> Что делать?

Делать отдельные tempdb хотя бы для администраторов.

Не понятно, что тут теоретического в запросах.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
11.09.2007, 02:11
    #34789790
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select into #t и tempdb
В целом понятно что будет.
Всем спасибо
...
Рейтинг: 0 / 0
11.09.2007, 10:51
    #34790325
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select into #t и tempdb
KruВ целом понятно что будет.
Всем спасибо
при плотном потоке создания временных таблиц будет "битва" за tempdb..sysobjects
суровая битва, с жертвами ;)
...
Рейтинг: 0 / 0
11.09.2007, 10:53
    #34790333
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select into #t и tempdb
KruСитуация - 20 разных сессий в которых одновременно запускается один и тот же запрос создающий временную. таблицу - например select * into #temp_table from table_a (скажем в ней пара тысяч записей).

Что произойдёт с базой tempdb? Могут ли некоторые сессии отвалиться? Почему?
Что делать?


кстати, судя по направленности вопросов идея была в конкуренции за sysobjects, это как пить дать!
...
Рейтинг: 0 / 0
11.09.2007, 12:16
    #34790747
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select into #t и tempdb
особенно если учесть, что lock datarows появилось только в 15-ке (ASE)
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
11.09.2007, 13:33
    #34791076
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select into #t и tempdb
komrad пишет:
> кстати, судя по направленности вопросов идея была в конкуренции за
> sysobjects, это как пить дать!

Нет. Тогда бы было "много сессий в транзакции создают временные таблицы".
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
11.09.2007, 17:33
    #34792169
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select into #t и tempdb
MasterZiv
komrad пишет:
> кстати, судя по направленности вопросов идея была в конкуренции за
> sysobjects, это как пить дать!

Нет. Тогда бы было "много сессий в транзакции создают временные таблицы".
Posted via ActualForum NNTP Server 1.4
мало данных, чтобы спорить
имхо, остальные варианты банальны
...
Рейтинг: 0 / 0
11.09.2007, 18:19
    #34792370
Sasha11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select into #t и tempdb
Надо создать много tempdb для пользователей, обязательно с кэшами.
Блокировок при создании/удалении #-таблиц будет меньше, или вообще не будет.
Сессии будут распределяться сервером по разным tempdb_xx, таким образом, конкуренция за системные таблицы в каждой tempdb_xx будет меньше.
...
Рейтинг: 0 / 0
11.09.2007, 18:26
    #34792394
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select into #t и tempdb
Sasha11Надо создать много tempdb для пользователей, обязательно с кэшами.
Блокировок при создании/удалении #-таблиц будет меньше, или вообще не будет.
Сессии будут распределяться сервером по разным tempdb_xx, таким образом, конкуренция за системные таблицы в каждой tempdb_xx будет меньше.

афаир, только с версии 12.5.1


автор
Забыл важную деталь - сервер баз данных ASE 12.x
...
Рейтинг: 0 / 0
11.09.2007, 18:38
    #34792454
Sasha11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select into #t и tempdb
по моему, много tempdb можно делать начиная с версии ASE 12.5.0.3
на сколько я помню, этого в доках нет, была pdf-ка на эту тему...
давно я это делал...
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / select into #t и tempdb / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]