Re[3]: [MSSQL] Как будет быстрее?
От: Antipov  
Дата: 26.01.06 06:19
Оценка:
Здравствуйте, _spin_, Вы писали:

__>Использовать триггер с курсором на милионах записей — не самое удачное решение. Необходима скорость обработки не ниже 30 сообщений в секунду.


Если быть внимательным курсор только то таблице inserted т.е. по тем записям кот. вставляются, как ты иначе обработаеш вставку 100 записей?

A>>Сейчас на порядок быстрее и будет зависеть от скорости сервера


__>Сервер будет мощный, сейчас всё испытывается на 2х хьюлетовских друхпроцессорных рабочих станциях.


Попробуй у меня на более слабом сервере скорость на порядок больше приведённой выше в топике.

__>Добавляет сложностей с получением значения критерия отбора "K из N". Тип коэффициента всегда один, имеет значение его номер. Плюс такое изменение таблицы увеличивает количество записей в 20 с лишним раз. И из 10 миллионов мы получим 200. Не многовато ли? У меня сейчас есть базы, в которых более 500 млн.записей и работать с ними достаточно сложно.


Тип коэффициента это и есть его номер в данном случае. Количество записей в таблице никого не должно смущать т.к. СКОРОСТЬ ВЫБОРКИ ЗАВИСИТ НЕ ОТ КОЛИЧЕСТВА ЗАПИСЕЙ А ОТ СЕЛЕКТИВНОСТИ И ИНДЕКСИРОВАННОСТИ, которые мы и повышаем: накладываем индекс на поле Coef, а затем ограничиваем выборку нижним и верхним значением коэффициента. В результате при наличии индекса сканирования всей таблицы не происходит и ты получаеш минимальную выборку а затем как следствие минимальные дальнейшие сравниения.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.