Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wydajność zapytań, (if)SELECT (than) UPDATE
Forum PHP.pl > Forum > Bazy danych
rafalp
Chciałem wam przedstawić dwie metody które używam w swoich skryptach i tak sie zastanawiam która jest bardziej wydajniejsza gdy przyjdzie pracować z dużą ilością danych.

metoda 1)
  1. {
  2. a = [SELECT]
  3. if(a)
  4. {
  5. [UPDATE .. WHERE]
  6. }
  7. [INSERT]
  8. }

Mamy warunek który nie często jest spełniony natomiast zawsze musimy zastosować SELECT i czasem UPDATE


metoda 2)
  1. {
  2. [UPDATE .. WHERE]
  3. [INSERT]
  4. }

Mamy zastosowany zawsze UPDATE który czasem nie przynosi żadnych realnych zmian w bazie.


Obstawiam metode 2 a wy?
Jak można w praktyce, jakimi narzędziami sprawdzić/zbadać takie i podobne problemy optymalizacyjne?
author
Narzędzia są typu najprostsze jakie można sobie wymyślić. Piszesz 2 procedury składowane:
1) zawierająca pierwszy blok
2) zawierająca drugi blok


Jako, że w mysql ciężko mierzyć czas w mili/microsekundach, tworzysz odpowiednio duży zestaw danych, żeby wykonywał się ponad 1 sek i wykonujesz 2 testy. Czas mierzysz w systemie np. w linuxie time, lub z poziomu skryptu jakeigoś np. PHP lub Perla, z którego wywołujesz procedury.

Ostatecznie nie muszą to być nawet procedury.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.