Производительность запросов SQL Server, большие операторы и запросы - PullRequest
1 голос
/ 16 мая 2009

Мне интересно, какой из методов более эффективен для извлечения данных из базы данных.

ех. Одна конкретная часть моего приложения может содержать более 100 объектов. Прямо сейчас у меня есть настройка для запроса базы данных дважды для каждого объекта. Эта часть приложения периодически обновляется, скажем, каждые 2 минуты, и, вероятно, это приложение будет установлено на 25-30 компьютерах. Я думаю, что это большое количество утверждений, которые можно сделать из базы данных, и я думаю о попытке оптимизировать процедуру. Я должен извлечь информацию из нескольких таблиц, и оба запроса используют операторы соединения.

Было бы лучше переписать запросы, чтобы я выполнял их только два раза за обновление вместо 200 раз? Например, используя большой оператор where для включения каждого объекта, а затем выполнять обработку данных вне объекта, а не внутри каждого объекта?

При использовании SQL Server, .net Нет индексов для таблиц, размер базы данных меньше 10-5

Ответы [ 2 ]

3 голосов
/ 16 мая 2009

при прочих равных условиях многие операторы с несколькими строками обычно хуже, чем несколько операторов с множеством строк.

показать реальный код и получить лучшие ответы.

2 голосов
/ 16 мая 2009

Ответ по умолчанию для оптимизации всегда должен быть следующим: не оптимизировать, пока у вас не будет явной необходимости в этом. Следствие таково: как только у вас есть явная потребность в этом, и альтернативный подход: попробуйте оба способа, чтобы определить, что быстрее. Вы не можете предсказать, что будет быстрее, а мы, конечно, не можем. КМ ответит хорошо - меньше запросов, как правило, лучше, но способ знать - это проверить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...