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

Откуда: Украина. Киев
Сообщений: 231
Уважаемые, вопрос к спецам.
Есть глоб.временная таблица с identity полем ID из которой я достаю данные и сохраняю в другой глоб.временной таблице. Все просто, но медленно из-за объема данных.
Была идея запустить из приложения 2-3 соединения в отдельных потоках, выполнить тот же запрос, но разбив на секции например id between 1..А и ID between А..В.

Что-то не получается, даже используя nolock оба потока работают со скоростью оригинального запроса.

Если есть идеи, то пожалуйста подскажите.
ЗЫ. Любителей попинать ногами и отвечать "ну и дурень" просьба проходить мимо :)
18 янв 12, 03:55    [11922090]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточность и временные таблицы  [new]
aleks2
Guest
man2002ua
Все просто, но медленно из-за объема данных.

1. А что, объемы изменятся, если в два потока?
2. Лучше DDL таблиц и запрос покажите.
18 янв 12, 05:37    [11922154]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточность и временные таблицы  [new]
man2002ua
Member

Откуда: Украина. Киев
Сообщений: 231
1. нет
2. да простейшие таблицы с группировкой и 98% занимает Sort в плане запроса (300 млн записей). Рез.набор около 30 млн.
(точнее щас не могу - дома)
18 янв 12, 12:31    [11924046]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточность и временные таблицы  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
man2002ua
1. нет
2. да простейшие таблицы с группировкой и 98% занимает Sort в плане запроса (300 млн записей). Рез.набор около 30 млн.
(точнее щас не могу - дома)
Если вы сортируете по 300 млн. каждый раз, то вам особо ничего не поможет, в общем-то.

Сообщение было отредактировано: 18 янв 12, 12:32
18 янв 12, 12:32    [11924076]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточность и временные таблицы  [new]
man2002ua
Member

Откуда: Украина. Киев
Сообщений: 231
ну єтого мнения и я придерживаюсь, но может слить из не группируя во временную и запустить 2-3 потока на выборку и агрегацию?
18 янв 12, 12:59    [11924410]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточность и временные таблицы  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
man2002ua
ну єтого мнения и я придерживаюсь, но может слить из не группируя во временную и запустить 2-3 потока на выборку и агрегацию?
Может, вы все-таки решаемую задачу опишите?
18 янв 12, 13:01    [11924432]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточность и временные таблицы  [new]
Glory
Member

Откуда:
Сообщений: 104751
man2002ua
выполнить тот же запрос, но разбив на секции например id between 1..А и ID between А..В.

"разбив на секции" - это вы про таблицу или про тексты ваших запросов ?
18 янв 12, 13:01    [11924433]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточность и временные таблицы  [new]
AnaceH
Member

Откуда:
Сообщений: 109
man2002ua,

Зачем делать сортировку при вставке в таблицу?
18 янв 12, 13:02    [11924452]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточность и временные таблицы  [new]
Crimean
Member

Откуда:
Сообщений: 13147
примерчик соберите, чтобы "пощупать" можно было. если основные затраты на SORT - логично индексом подпереть. вставки просядут, но SORT уйдет
18 янв 12, 18:27    [11928283]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточность и временные таблицы  [new]
мимо проходящий ))
Guest
Тут надо большую таблицу разбивать на мелкие таблицы.Как то так.
Только так можно добиться значительного ускорения выборки,но такой подход усложнит систему.
Палка о двух концах.
19 янв 12, 08:19    [11929852]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить