Я использую встроенный в Visual Studio 2010 профилировщик для просмотра раздела с неэффективным кодом. Тем не менее, я вижу некоторые результаты, которые не совсем имеют смысл. Вот снимок отчета:
Это, кажется, указывает на то, что Regex.Replace является узким местом (и поэтому я должен постараться максимально сократить или исключить это использование). Тем не менее, это кажется неточным, так как я знаю, что этот конкретный раздел кода интенсивно использует базу данных, и, таким образом, я ожидаю, что SqlCommand.ExecuteNonQuery будет хотя бы немного выше в этом отчете, если не более доминирующим, чем Regex использовать.
Итак, мой вопрос: является ли этот инструмент профилировщика бесполезным для чего-либо, связанного с доступом к базе данных, поскольку работа над SQL выполняется другим процессом (например, сервером SQL), и поэтому я должен измерить его каким-то другим способом?