Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Wyciągać 1 czy wszystkie zmienne?
Forum PHP.pl > Forum > Bazy danych > MySQL
El Wieczor
Jest tabela, w której wiersz ma kilka pól. Co jakiś czas robiony jest update na wierszu i z każdym updatem zmieniają się wartości WSZYSTKICH pól. Wiersz będzie często czytany, ale rzadko modyfikowany.
Po jedym odczytaniu dane idą do sesji, jeśli dane się zmieniły od ostatniego czytania, to zastępują te w sesji.

Czy wydajniejsze będzie za każdym odświeżeniem strony sprawdzić tylko jedną wartość i jeśli się zmieniła, to zrobić drugi select dla wszystkich, czy za każdym razem czytać wszystkie?
Ratio select:update będzie coś koło 20:1.
prond
Na pewno szybciej będzie za każdym razem zaciągać cały rekord i nadpisywać dane w sesji.

Sprawdzanie jednego pola, potem zaciąganie całego rekordu jest trochę bez sensu (jeżeli dobrze zrozumiałem Twój pomysł) :
- robisz wtedy 2 selecty do bazy zamiast jednego
- masz dodatkową operacje porównania w aplikacji
snipe
@prond: zauważ, że dane idą do update'u bardo rzadko, tak więc z jakiej racji pobierać za każdym razem całość?? Załóżmy że przez 19 razy wartość się nie zmieniła a tabla posiada 20 wierszy. Nie zmieniając tabeli musimy pobrać aż 380 wierszy. A przy sprawdzaniu pojedynczym niech zmieni się jeden wiersz, to pobierzemy tylko 1 wiersz. Przy założeniu, że dobrze zrozumiałem o co chodzi autorowi tematu winksmiley.jpg
prond
Jakoś mi się utkwiło, że to jeden wiersz i wtedy nie ma co się pieścić tylko zrobić to tak jak napisałem.

Jeżeli pobieranych jest wiele rekordów do też jeden SELECT, ale z warunkami. Jak wynik jest pusty to nie nadpisujemy danych w sesji.
El Wieczor
Sprawdzany jest tylko jeden rekord. Czyli lepiej 20 selectów całości, niż 19 jednego pola i jeszcze jeden select całości, jak zrozumiałem.
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.