Валерка написал(а):
С некоторых пор программа моя (точнее целый комплекс программ) стала работать ужасно медленно. Сказался тот факт, что объем данных вырос, а изначально в программу это не закладывалось. При анализе в se30 выяснил, что 80% времени приходится на одну и туже таблицу.
Однако выборок из этой таблицы очень много и очень разных, так что под все возможные варианты не подберешь.
Как я понял в se30 показывается первый попавшийся код выборки из этой таблицы, а не тот, что тормозит больше всего.
В настройках таблицы в технических параметрах есть такой раздел "Буферизация". Может вногоуважаемый ALL может рассказать в чем суть этой буферизации и может ли она помочь в данном случае?
И дополнительный вопрос: В коде у меня выборка идет в виде
Code:
SELECT * FROM (TABNAME) INTO ...
т.е. таблица задается динамически. Может это сильно влиять на скорость работы?
Думаю что нет, влияет * + условия выборки, по каким полям выбираете, ключевым или нет и многое другое. Про оптимизацию очень много говорили. Буферизация возможно поможет, но Вам надо учесть все, сколько раз Вы обращаетесь к этой таблицы, на сколько актуальные данные будут в ней и тд. Так же надо смотреть код программы, может у Вас в loop-е select например. Еще для оптимизации программы можно использовать field-symbols.
Из какой Вы таблицы выбираете(где тормозит)?
В se30 есть подробный анализ.