Автоматически измерьте все SQL-запросы

Поскольку Java не поддерживает перегрузку оператора, == ведет себя одинаково для каждого объекта, но equals () - это метод, который может быть переопределен в Java, а логика для сравнения объектов может быть изменена на основе бизнес-правил.

Основное различие между == и equals в Java заключается в том, что «==» используется для сравнения примитивов, тогда как метод equals () рекомендуется проверять равенство объектов.

Сравнение строк является распространенным сценарием использования оба метода == и equals. Поскольку класс java.lang.String переопределяет метод equals, он возвращает true, если два объекта String содержат одинаковое содержимое, но == будет возвращать true, только если две ссылки указывают на один и тот же объект.

Ниже приведен пример сравнения две строки в Java для равенства с использованием метода == и equals (), которые устранят некоторые сомнения:

public class TEstT{

    public static void main(String[] args) {

String text1 = new String("apple");
String text2 = new String("apple");

//since two strings are different object result should be false
boolean result = text1 == text2;
System.out.println("Comparing two strings with == operator: " + result);

//since strings contains same content , equals() should return true
result = text1.equals(text2);
System.out.println("Comparing two Strings with same content using equals method: " + result);

text2 = text1;
//since both text2 and text1d reference variable are pointing to same object
//"==" should return true
result = (text1 == text2);
System.out.println("Comparing two reference pointing to same String with == operator: " + result);

}
}
5
задан Mark Harrison 18 August 2008 в 16:13
поделиться

6 ответов

В дополнение к упоминанию Brad о SQL Profiler, если Вы хотите сделать это в коде, затем всем Вашим вызовам базы данных нужно к направляемому через общую библиотеку. Вы вставляете код времени там, и вуаля, Вы знаете, сколько времени каждый запрос в Вашей системе берет.

Единственная точка входа к базе данных является довольно стандартной функцией любого ORM или слоя базы данных - или по крайней мере это было в любом проекте, я продолжил работать до сих пор!

6
ответ дан 14 December 2019 в 01:22
поделиться

Проект Dropthings на CodePlex имеет класс для синхронизации блоков кода. Класс называют TimedLog. Это реализует IDisposable. Вы переносите блок кода, которого Вы желаете ко времени в операторе использования.

0
ответ дан 14 December 2019 в 01:22
поделиться

SQL Profiler является инструментом, который я использую для контроля трафика, текущего к моему SQL Server. Это позволяет Вам собирать подробные данные вокруг своего SQL Server. SQL Profiler был распределен с SQL Server с тех пор, по крайней мере, SQL Server 2000 (но вероятно перед этим также).

Очень рекомендуем.

2
ответ дан 14 December 2019 в 01:22
поделиться

Смотрите на эту главу Jeff Atwood, и я записал об оптимизации производительности для веб-сайтов. Мы покрываем много материала, но существует много материала о трассировке базы данных и оптимизации: Ускорьте Свой Сайт: 8 Подсказок по Производительности ASP.NET

1
ответ дан 14 December 2019 в 01:22
поделиться

При использовании направляющих, это автоматически регистрирует все SQL-запросы, и время, которое они заняли для выполнения в файле журнала разработки.

Я нахожу это очень полезным, потому что, если Вы действительно видите тот, это требует времени, это - один шаг только к копии, и вставьте его непосредственно экран/файл журнала и поместите, 'объясняют' перед ним в mysql.

Вы не должны пойти, роя через Ваш код и восстановить то, что происходит.

Само собой разумеется, этого не происходит в производстве, поскольку оно выполнило Вас из дискового пространства приблизительно за час.

0
ответ дан 14 December 2019 в 01:22
поделиться

При определении фабрики, которая создает SqlCommands для Вас, и всегда называйте его при необходимости в новой команде можно возвратить RealProxy в SqlCommand.

Этот прокси может затем иметь размеры, сколько времени ExecuteReader / ExecuteScalar и т.д. берут использование StopWatch и регистрируют его где-нибудь. Преимущество для использования этого вида метода по Профилировщику SQL-сервера состоит в том, что можно получить полные отслеживания стека для каждой выполняемой части SQL.

0
ответ дан 14 December 2019 в 01:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: