Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Sybase ASA, ASE, IQ Новый топик    Ответить
 Параллельное выполнение процедуры  [new]
шК0ДЕР
Member

Откуда: Самара, городок на Волге
Сообщений: 319
Добрый день. Перебрался из oracle на ms sql.
Есть процедура, которую нужно заставить работать параллельно. В ней выполняются truncate, insert`ы и delet`ы.
Ничего мудреного нет. Все возможности для ее параллельного выполнения есть, так меня заверили.
Почитал про возможные способы реализации. Все как то заумно.. или понедельник влияет.
Не подскажите в каком направлении копать?

версия:
Adaptive Server Enterprise/12.5.4/EBF 21695 ESD#11.1/P/x86_64/Enterprise Linux
16 апр 18, 12:06    [21342050]     Ответить | Цитировать Сообщить модератору
 Re: Параллельное выполнение процедуры  [new]
aleksrov
Member

Откуда:
Сообщений: 686
шК0ДЕР,

А причем тут Sybase?

И даже если бы это был SQL я сильно сомневаюсь что вы можете именно одновременно делать truncate и что либо еще.
16 апр 18, 12:13    [21342074]     Ответить | Цитировать Сообщить модератору
 Re: Параллельное выполнение процедуры  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 2042
шК0ДЕР
Добрый день. Перебрался из oracle на ms sql.
Есть процедура, которую нужно заставить работать параллельно. В ней выполняются truncate, insert`ы и delet`ы.
Ничего мудреного нет. Все возможности для ее параллельного выполнения есть, так меня заверили.
Почитал про возможные способы реализации. Все как то заумно.. или понедельник влияет.
Не подскажите в каком направлении копать?

версия:
Adaptive Server Enterprise/12.5.4/EBF 21695 ESD#11.1/P/x86_64/Enterprise Linux


1. зачем?
2. пусть сервер сам думает.
3. как вас "заверили"?
16 апр 18, 12:21    [21342096]     Ответить | Цитировать Сообщить модератору
 Re: Параллельное выполнение процедуры  [new]
шК0ДЕР
Member

Откуда: Самара, городок на Волге
Сообщений: 319
Ролг Хупин
1. зачем?
2. пусть сервер сам думает.
3. как вас "заверили"?

1)
Заказчик
процедура должна уметь работать в параллельном режиме. Сейчас – только однопоточный режим, остальные потоки валятся в таблицу ошибок
есть проверка на наличие/отсутствие данных, которая, в определенной ситуации, генерирует сообщение об ошибке и завершает ее выполнение, записывая данные в лог
2) Сервер подумает. Мне все равно нужна инфа, на будущее
3) Так и заверили
16 апр 18, 12:47    [21342149]     Ответить | Цитировать Сообщить модератору
 Re: Параллельное выполнение процедуры  [new]
invm
Member

Откуда: Москва
Сообщений: 7699
шК0ДЕР,

1. У вас не MSSQL, а Sybase. Или вам это фиолетово?
2. Напрягитесь и представьте себе параллельный truncate. Может тогда вопрос сам собой отпадет.
16 апр 18, 12:57    [21342175]     Ответить | Цитировать Сообщить модератору
 Re: Параллельное выполнение процедуры  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 2042
шК0ДЕР
Ролг Хупин
1. зачем?
2. пусть сервер сам думает.
3. как вас "заверили"?

1)
Заказчик
процедура должна уметь работать в параллельном режиме. Сейчас – только однопоточный режим, остальные потоки валятся в таблицу ошибок
есть проверка на наличие/отсутствие данных, которая, в определенной ситуации, генерирует сообщение об ошибке и завершает ее выполнение, записывая данные в лог
2) Сервер подумает. Мне все равно нужна инфа, на будущее
3) Так и заверили


Откуда заказчик это знает?

"должна уметь работать в параллельном режиме. Сейчас – только однопоточный режим, остальные потоки валятся в таблицу ошибок"

Какие потоки СЕРВЕРА валятся в таблицу ошибок?

Модератор: Тема перенесена из форума "Microsoft SQL Server".
16 апр 18, 13:01    [21342182]     Ответить | Цитировать Сообщить модератору
 Re: Параллельное выполнение процедуры  [new]
шК0ДЕР
Member

Откуда: Самара, городок на Волге
Сообщений: 319
Ролг Хупин
Откуда заказчик это знает?

"должна уметь работать в параллельном режиме. Сейчас – только однопоточный режим, остальные потоки валятся в таблицу ошибок"

Наверняка уже что-то работает в разных потоках.
Ролг Хупин
Какие потоки СЕРВЕРА валятся в таблицу ошибок?

Которые после очередного truncate не возвращают нужное кол-во записей.

Неужели с распараллеливанием все так тяжко и у него 100500 способов реализации зависящих от кучи различных факторов? В интернетах всего пару способов увидел - 1) джобы, 2) создание дополнительных сессий. Только вот статьи были от 2000 гг. Надеюсь, есть что-то по свежее...

Допустим, уберу truncate, с допиливанием логики процки по необходимости, естественно. Куда копать дальше?
16 апр 18, 13:35    [21342310]     Ответить | Цитировать Сообщить модератору
 Re: Параллельное выполнение процедуры  [new]
KreatorXXI
Member

Откуда: Москва
Сообщений: 343
шК0ДЕР,

А что за процедура? Хранимка?
17 апр 18, 10:51    [21344613]     Ответить | Цитировать Сообщить модератору
 Re: Параллельное выполнение процедуры  [new]
шК0ДЕР
Member

Откуда: Самара, городок на Волге
Сообщений: 319
KreatorXXI
А что за процедура? Хранимка?
Да, хранимка. Проблему уже решил убрав truncate + некоторые правки.
Есть вторая хранимка, требующая подобного рефакторинга. В ней создается временная таблица
create table #tbl_name 
([id]          numeric(15, 0) identity, 
  text_field   varchar(255))

И затем сразу
 truncate table #tbl_name

Не пойму зачем подобное телодвижение, ведь таблица только создалась и пустая...
truncate в данном случае будет очищать таблицу, которая была создана в другой сессии?
Прочитал, что для таких таблиц sql сам для себя дополняет имена, потому они уникальны в бд.
18 апр 18, 11:17    [21347955]     Ответить | Цитировать Сообщить модератору
 Re: Параллельное выполнение процедуры  [new]
KreatorXXI
Member

Откуда: Москва
Сообщений: 343
шК0ДЕР,

Ну, если хранимка, сделай три хранимки и запускай их с клиента в параллель. Другое дело - там вообще странный функционал, да? Может ничего и распараллеливать не нужно? Нужно разобраться что она делает, эта хранимка.
вчера, 16:09    [21355251]     Ответить | Цитировать Сообщить модератору
Все форумы / Sybase ASA, ASE, IQ Ответить