Коллеги всем доброго времени суток.
Предлагаю поделится архитектурой БД:
У нас БД стоит на Oracle 10.2 (виртуальный сервер Linux - 4 процессора, 16 Гб ОЗУ), размер базы составляет 25 Гб. В системе 1,5 мил заявок, столько же Работ, около 0,5 мил KE.
Сталкиваемся с проблемами производительности, причина проблем - низкая производительность выполнения SQL запросов из-за отсутствия индексирования (во многих запросах). Проблему можно решить включением "статистики" в БД Oracle (есть такая фишка). В результате Oracle анализирует архитектуру таблиц и сам находит оптимальный путь исполнения запроса. Но почему то при статистики БД виснет через час (пока не разобрались в чем проблема).
Конкретный пример: если специалист находится в 2 группах, то "События сегодня" (Service Today) отрабатывает за 40 сек., если в одной за 1 сек. Причина в том, что при нескольких группах SQL запрос строится на команде IN в результате индексы не берутся.
Будем дальше "копать" причину зависания при "статистике".
Предлагаю поделится архитектурой БД:
У нас БД стоит на Oracle 10.2 (виртуальный сервер Linux - 4 процессора, 16 Гб ОЗУ), размер базы составляет 25 Гб. В системе 1,5 мил заявок, столько же Работ, около 0,5 мил KE.
Сталкиваемся с проблемами производительности, причина проблем - низкая производительность выполнения SQL запросов из-за отсутствия индексирования (во многих запросах). Проблему можно решить включением "статистики" в БД Oracle (есть такая фишка). В результате Oracle анализирует архитектуру таблиц и сам находит оптимальный путь исполнения запроса. Но почему то при статистики БД виснет через час (пока не разобрались в чем проблема).
Конкретный пример: если специалист находится в 2 группах, то "События сегодня" (Service Today) отрабатывает за 40 сек., если в одной за 1 сек. Причина в том, что при нескольких группах SQL запрос строится на команде IN в результате индексы не берутся.
Будем дальше "копать" причину зависания при "статистике".