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

Откуда:
Сообщений: 9
Главный вопрос: как можно распараллелить запросы на 4 и более ядер процессоров в MSSQL на T-SQL?

Есть множество запросов, надо их разделить на разные ядра. Как? Куда копать?

Про "max degree of parallelism" в курсе. Стоит 0 по умолчанию. Другие параметры для параллеллизма тоже по умолчанию. Но это решает проблему якобы 1 сложного запроса, хотя на практике я не заметил, чтобы у меня все 4 ядра загружались.

Спасибо и извините за глупость, гугль не предлагает конкретики.
7 мар 13, 22:07    [14026318]     Ответить | Цитировать Сообщить модератору
 Re: Параллельное выполнение запросов  [new]
Taron133
Member

Откуда:
Сообщений: 9
Запросы можно типизировать на разные потоки, хотя они могут работать с одними и теми же таблицами.
Конечно, не хотелось бы создавать отдельные потоки в Приложении с разными соединениями к БД...
7 мар 13, 22:09    [14026328]     Ответить | Цитировать Сообщить модератору
 Re: Параллельное выполнение запросов  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
загляните по соседству:) 13924965
7 мар 13, 23:06    [14026517]     Ответить | Цитировать Сообщить модератору
 Re: Параллельное выполнение запросов  [new]
Оппть
Guest
Taron133
Запросы можно типизировать на разные потоки, хотя они могут работать с одними и теми же таблицами.
Конечно, не хотелось бы создавать отдельные потоки в Приложении с разными соединениями к БД...


Есть бесплатное решение для распараллелирования запросов с клиентской части (OLEDB, ADO, 1C и т.п.): http://softpoint.ru/article_id4224.htm
Отдельные потоки и соединения создавать не надо, все это делает сама компонента.
7 мар 13, 23:08    [14026530]     Ответить | Цитировать Сообщить модератору
 Re: Параллельное выполнение запросов  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
Taron133
Конечно, не хотелось бы создавать отдельные потоки в Приложении с разными соединениями к БД...
Только так. Можно естественно использовать компоненты для используемых платформ/языков (если такие существуют).
8 мар 13, 00:51    [14026793]     Ответить | Цитировать Сообщить модератору
 Re: Параллельное выполнение запросов  [new]
Taron133
Member

Откуда:
Сообщений: 9
Cygapb-007
загляните по соседству:) 13924965


К сожалению, разницы нет от "option (maxdop 4, querytraceon 8649)", т.к. по умолчанию запросы распараллеливаются на все ядра.

Видимо придётся делать потоки в приложении. Жаль.
8 мар 13, 22:36    [14028542]     Ответить | Цитировать Сообщить модератору
 Re: Параллельное выполнение запросов  [new]
Taron133
Member

Откуда:
Сообщений: 9
Использую PHP и MSSQL Driver 3. В драйвере нет возможности выполнять запросы в асинхронном режиме.
8 мар 13, 22:38    [14028551]     Ответить | Цитировать Сообщить модератору
 Re: Параллельное выполнение запросов  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Taron133
Использую PHP и MSSQL Driver 3. В драйвере нет возможности выполнять запросы в асинхронном режиме.
Сделайте очередь на сервере, с помощью того же сервиса брокера и обрабатывайте её в несколько потоков. Вот еще набор статей про Parallel Task Scheduling
http://www.sqlnotes.info/tag/multi-threading/
9 мар 13, 00:30    [14028891]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить