#sql
#sql
Вопрос:
следующая процедура
dt_addtosourcecontrol, dt_addtosourcecontrol_u, dt_adduserobject
формируются в одной из серверных БД с именем DB1 , тогда как у нас есть две другие БД с такой же структурой БД, что и DB1, с несколько меньшим количеством данных, но в них вышеуказанной процедуры нет.
здесь первая упомянутая DB, DB1 с некоторой дополнительной процедурой, такой как
dt_addtosourcecontrol, dt_addtosourcecontrol_u, dt_adduserobject
работает очень медленно при подключении к нашему приложению, в то время как другие работают нормально.
Является ли описанная выше процедура xtra причиной замедления?
есть ли у них какой-либо способ повысить скорость работы БД или проверить ее производительность?
Комментарии:
1. Вам следует задокументировать, какую СУБД вы используете. Проблема не в хранимых процедурах, а в чем-то другом. Актуальна ли «статистика» для вашей СУБД? Обновлены ли они?
2. Недавно я написал сообщение в блоге, объясняющее различные способы устранения проблем с производительностью SQL Server. Это может помочь в отладке этого. redant.com/articles/design-and-build /…
Ответ №1:
Нет, существование некоторых хранимых процедур не влияет на производительность базы данных.
Убедитесь, что в базах данных также определены одинаковые индексы. Может быть небольшая разница в производительности между базами данных, если данные несколько отличаются, но этого едва достаточно, чтобы быть заметным. Если индекс отсутствует, это может сильно повлиять на производительность.
Ответ №2:
Если это сервер MS SQL, используйте SQL Profiler для поиска медленно выполняющихся запросов (или других действий с базой данных)