[MSSQL] operatory porównania i szybkość

[MSSQL] operatory porównania i szybkość
JU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5052
0

Witam, ze względu na swój serwer nie mam możliwości sprawdzić tego obiektywnie.

Więc zwracam się z pytaniem tutaj.

Czy będzie różnica w szybkości między kodem:

Kopiuj
IF @a = 1
   IF @b = @c SET @a = 1 ELSE SET @a = 0

a:

Kopiuj
IF @a = 1
   IF @b <> @c SET @a = 0

Jeśli tak, to który będzie szybszy?

AP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3079
0

Juhas jeżeli mogę Ci coś poradzić... zajmując się takimi pierdołami nie uzyskasz zbyt wiele szybkości :P

IMHO drugi fragment kodu będzie szybszy i jest dużo bardziej czytelny niż pierwszy.

__Marcin__
  • Rejestracja: dni
  • Ostatnio: dni
0

Najprościej i najwydajniej będzie:

Kopiuj
IF (@a = 1) and (@b <> @c)
   SET @a = 0
JU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5052
0
AdamPL napisał(a)

Juhas jeżeli mogę Ci coś poradzić... zajmując się takimi pierdołami nie uzyskasz zbyt wiele szybkości :P

Tak, ale jak takich zapytań masz do wykonania powiedzmy kilka tysięcy po kolei? ;>
Poza tym, to bardziej ciekawostka, bo czytając o optymalizacji, wyczytałem, że operatory typu <>, !=, IS NOT są najwolniejsze.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.