Запросы, планы, оптимизация запросов, ...
Модераторы: kdv, CyberMax
-
SerjP
- Сообщения: 24
- Зарегистрирован: 09 июл 2008, 15:01
Сообщение
SerjP » 07 дек 2009, 10:39
Всем добрый день.
Столкнулся со следующей проблемой -
Есть достаточно сложная расчетная задача. Порядка 30 стартовых параметров. В процессе расчета происходит вычисление еще порядка 70 параметров. Все они хранятся во "временной" таблице до окончания расчета(потом удаляются). сейчас расчет происходит за 7-14 сек(в зависимости от количества стартовых параметров). В общем меня это устраивало до момента, пока не появилась задача в проведение порядка 60 таких расчетов сразу(с изменением пары-тройки стартовых парметров) Время выполнения пропрорционально вырасло....

. Проведя анализ производительности выявил, что имеет место быть порядко 700тыс чтений из "временной" таблицы. Возник вопрос - если бы использовалась для хранения промежуточных данных не таблица а некая "таблице-подобная структура данных в памяти" изменилась ли производительность в лучшую сторону? Есть подозрения, что да...
Собственно вопрос - может что посоветуете по поводу "хранилища для промежуточных данных"....
Используется сервер FB 2.1.3
-
Dimitry Sibiryakov
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Сообщение
Dimitry Sibiryakov » 07 дек 2009, 14:29
В первую очередь вместо "временных" таблиц надо попробовать по-настоящему временные.
Во вторую - попробовать пересмотреть логику, чтобы хватало локальных переменных.
-
SerjP
- Сообщения: 24
- Зарегистрирован: 09 июл 2008, 15:01
Сообщение
SerjP » 07 дек 2009, 15:27
Dimitry Sibiryakov писал(а):В первую очередь вместо "временных" таблиц надо попробовать по-настоящему временные.
Во вторую - попробовать пересмотреть логику, чтобы хватало локальных переменных.
1) Это GLOBAL TEMPORARY TABLE ? Попробую...
2) Логику пересмотреть не получится - это расчет по динамическим формулам с условиями(некоторые ветки формулы могут не считаться в зависимости от значений параметров. Некоторые параметры расчитываются по другим формулам, некоторые по дереву коэфициентов, параметры могут быть числами, датами...
-
SerjP
- Сообщения: 24
- Зарегистрирован: 09 июл 2008, 15:01
Сообщение
SerjP » 07 дек 2009, 16:02
1) Попробовал - особо разницы в скорости работы нет...