Гость
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / большая база, триггера - Вы пробовали их там использовать? / 6 сообщений из 6, страница 1 из 1
18.08.2001, 09:48
    #32012125
Саша
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большая база, триггера - Вы пробовали их там использовать?
"Кто может - спасите"

Огромная просьба - подтвердите правильность действий или скажите что не так:

Ситуация: T-SQL, гигантская (млн. записей) база, триггера на вставку - сложная обработка по каждой записи . Триггера "глушат" всю базу.

Структура триггеров:
курсор по inserted - по каждой строке несколько update и много запросов (без курсора не выходит - пользовательских функций то, нет)

Найденная ошибка: во всех командах нет явно указанного индекса (база не подхватывает индекс и выполняет "table scan")
Вношу эти индексы. Ускорение раз в 30. Но, за 1 с. пишется только 50 записей.

Вобщем - планета Шелезяка ... кто может помогите
...
Рейтинг: 0 / 0
05.09.2001, 04:27
    #32013486
Moth
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большая база, триггера - Вы пробовали их там использовать?
У меня в ядровой таблице 400 000 записей.
MS SQL 7.0

Проблем никаких.

Обработка в тригере ... вообщем много условий.

Moth
...
Рейтинг: 0 / 0
05.09.2001, 04:29
    #32013487
Moth
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большая база, триггера - Вы пробовали их там использовать?
У меня в ядровой таблице 400 000 записей.
MS SQL 7.0

Проблем никаких.

Обработка в тригере ... вообщем много условий.

Moth
...
Рейтинг: 0 / 0
25.02.2002, 00:52
    #32023851
Enemy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большая база, триггера - Вы пробовали их там использовать?
Большая база для MS SQL - это каюк. Думаю, для него максимум - 1Гб.
Мой тебе совет, коль всевозможные индексы поставил (точно поставил?) - делай тест и смотри на загрузку ЦПУ (На больших объемах узкое место - дисковая система). Если маленькая загрузка CPU и диски горят непереставая, то:

1. Выдели памяти больше для MS SQL.
2. Разнеси индексы и таблицы в разные области хранения (не знаю, как они там называются в MS SQL), а области на разные диски. Лучше использовать SCSI, а еще лучше RAID.
3. Лишние индексы удали.
4. Попробуй поставить такие индексы, которых бы хватало для решения запроса, т.е. чтобы сервер бы на лазил в таблицу за дополнительными полями, это дает выигрыш не менее двух раз (но не более 3-5 полей в индексе).
5. Лучше использовать Oracle - у него средства администрирования больших объемов данных лучше.
6. Лучше пересмотреть структуры БД. Сложные триггеры, это значит, где-то недоработка.
...
Рейтинг: 0 / 0
28.04.2002, 07:13
    #32029097
Barbar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большая база, триггера - Вы пробовали их там использовать?
2Enemy 1Гб это небольшая база (у меня это средний прирост за неделю) и MSSQL 2000 тянет спокойно и 20 и 30Гб. Но триггера я использую исключительно для удаления (хотя и от этого ухожу) Логику я пишу на Stored Proc. Доступ к таблицам только на SELECT.
...
Рейтинг: 0 / 0
29.04.2002, 06:18
    #32029127
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
большая база, триггера - Вы пробовали их там использовать?
Согласен с Barbar
Триггеры надо использовать только для расширенной целостности БД.
А уж если жизнь заставила и они используются для бизнес-логики, то только без построчной обработки.
Если в ХП курсоры нежелательны, то в триггерах они совершенно недопустимы.
...
Рейтинг: 0 / 0
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / большая база, триггера - Вы пробовали их там использовать? / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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